Multi-object multi-pen writing method and system

By rewriting the stylus and static plugins of the electronic whiteboard, pen events are recognized and strokes are constructed, solving the problem that traditional electronic whiteboards cannot handle multiple objects and multiple strokes, thus improving the user experience.

CN115509427BActive Publication Date: 2026-03-17RETURNSTAR INTERACTIVE TECH GRP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-29
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Traditional electronic whiteboards cannot allow multiple strokes to be written on multiple objects simultaneously, which limits their use cases and affects the user experience.

Method used

By overriding the OnStylusDown, OnStylusMove, and OnStylusUp methods, InkCanvas's stylus and static plugins are created. The pen events are recognized and strokes are constructed based on the four vertices of the object. The system determines whether the finger is on the object to perform multi-stroke writing operations.

Benefits of technology

It enables simultaneous free multi-stroke writing on multiple objects on the electronic whiteboard, improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115509427B_ABST
    Figure CN115509427B_ABST
Patent Text Reader

Abstract

The application provides a multi-object multi-pen writing method and system in the technical field of electronic whiteboards, and the method comprises the following steps: step S10, storing the device ID of each type of brush in advance, and creating the stylus plug-in and the static plug-in of InkCanvas based on the rewritten OnStylusDown method, OnStylusMove method and OnStylusUp method; step S20, constructing a stroke based on the four vertices of each object on the electronic whiteboard respectively, and performing matrix transformation on the stroke and the object based on the operation instruction of the object; step S30, when the current user selects multi-pen writing, performing multi-pen writing operation based on the stylus plug-in, the static plug-in and the stroke. The application has the advantage that multi-pen writing on multiple objects can be freely realized while writing on the electronic whiteboard, and the user experience is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of electronic whiteboard technology, and in particular to a multi-object, multi-stroke writing method and system. Background Technology

[0002] With the rapid development of computer technology, various multimedia courseware integrating sound, images, text, and video have entered the classroom. Electronic whiteboards, which combine computer technology, display technology, network technology, and photography / videography technology, have emerged in this digital age. However, traditional electronic whiteboards cannot simultaneously allow multiple strokes on objects (images, videos, tables, etc.) (annotation via finger), or only allow multiple strokes on a single object. This greatly limits the application scenarios of electronic whiteboards and consequently significantly impacts the user experience.

[0003] Therefore, how to provide a method and system for multi-object, multi-stroke writing, so as to enable free multi-stroke writing on multiple objects while writing on an electronic whiteboard, has become a technical problem that urgently needs to be solved. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide a multi-object, multi-stroke writing method and system, which enables free multi-stroke writing on multiple objects while writing on an electronic whiteboard.

[0005] In a first aspect, the present invention provides a multi-object, multi-stroke writing method, comprising the following steps:

[0006] Step S10: Pre-store the device IDs of various types of pens, and create the InkCanvas stylus plugin and static plugin based on the overridden OnStylusDown, OnStylusMove and OnStylusUp methods;

[0007] Step S20: Construct strokes based on the four vertices of each object on the electronic whiteboard, and perform matrix transformations on the strokes and objects based on the object's operation instructions;

[0008] Step S30: When the current user selects multiple strokes for writing, the multiple strokes writing operation is performed based on the stylus plugin, static plugin, and stroke.

[0009] Further, step S10 specifically includes:

[0010] The device IDs of each type of pen are pre-stored, the number of multi-touch points supported by each type of pen is obtained, an initial pen plugin is added to each touch point in the InkCanvas ink display, and the OnStylusDown, OnStylusMove and OnStylusUp methods of each initial pen plugin are overridden to obtain the corresponding pen plugin.

[0011] The OnStylusDown, OnStylusMove, and OnStylusUp methods of the initial static plugin of InkCanvas are overridden to obtain the corresponding static plugin.

[0012] Furthermore, in step S20, the operation command is to move, rotate, or scale.

[0013] Further, step S30 specifically includes:

[0014] The first entry is located within the object:

[0015] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called, and the second press event generated by the stylus plugin is not called.

[0016] The object corresponding to stroke generates a TouchDown event, which is processed by the object's InkCanvas to write on the object; the electronic whiteboard generates a StrokeCollected event, which collects the strokes written by the pen and deletes the first stroke that is inside the object.

[0017] The second stroke is not located within the object:

[0018] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is not within the rectangle formed by the stroke, the first press event is called, and the second press event generated by the stylus plugin is called.

[0019] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0020] The first entry is not located within the object:

[0021] When the finger presses the first stroke, the static plugin generates the first press event. If the first stroke is not within the rectangle formed by the stroke, the first press event is called, but the second press event generated by the stylus plugin is not called.

[0022] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0023] The second stroke is located within the object:

[0024] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called, and the second press event generated by the stylus plugin is not called.

[0025] The entire whiteboard generates a TouchDown event. When the first touch point is not on the object, a stroke is generated according to the TouchDown event and saved to the stroke set. The entire whiteboard first generates a TouchMove event and collects the strokes generated by the TouchMove event into the stroke set. The entire whiteboard then generates a TouchUp event and displays each stroke in the stroke set on the entire whiteboard through the TouchUp event.

[0026] Secondly, the present invention provides a multi-object, multi-stroke writing system, comprising the following modules:

[0027] The plugin creation module is used to pre-store the device IDs of various types of pens and create InkCanvas stylus plugins and static plugins based on the overridden OnStylusDown, OnStylusMove, and OnStylusUp methods.

[0028] The stroke construction module is used to construct strokes based on the four vertices of each object on the electronic whiteboard, and to perform matrix transformations on the strokes and objects based on the object's operation instructions.

[0029] The multi-stroke writing module is used to perform multi-stroke writing operations based on the stylus plugin, static plugin, and stroke when the current user selects to write multiple strokes.

[0030] Furthermore, the plugin creation module is specifically used for:

[0031] The device IDs of each type of pen are pre-stored, the number of multi-touch points supported by each type of pen is obtained, an initial pen plugin is added to each touch point in the InkCanvas ink display, and the OnStylusDown, OnStylusMove and OnStylusUp methods of each initial pen plugin are overridden to obtain the corresponding pen plugin.

[0032] The OnStylusDown, OnStylusMove, and OnStylusUp methods of the initial static plugin of InkCanvas are overridden to obtain the corresponding static plugin.

[0033] Furthermore, in the stroke construction module, the operation command is to move, rotate, or scale.

[0034] Furthermore, the multi-stroke writing operation module is specifically used for:

[0035] The first entry is located within the object:

[0036] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called, and the second press event generated by the stylus plugin is not called.

[0037] The object corresponding to stroke generates a TouchDown event, which is processed by the object's InkCanvas to write on the object; the electronic whiteboard generates a StrokeCollected event, which collects the strokes written by the pen and deletes the first stroke that is inside the object.

[0038] The second stroke is not located within the object:

[0039] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is not within the rectangle formed by the stroke, the first press event is called, and the second press event generated by the stylus plugin is called.

[0040] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0041] The first entry is not located within the object:

[0042] When the finger presses the first stroke, the static plugin generates the first press event. If the first stroke is not within the rectangle formed by the stroke, the first press event is called, but the second press event generated by the stylus plugin is not called.

[0043] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0044] The second stroke is located within the object:

[0045] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called, and the second press event generated by the stylus plugin is not called.

[0046] The entire whiteboard generates a TouchDown event. When the first touch point is not on the object, a stroke is generated according to the TouchDown event and saved to the stroke set. The entire whiteboard first generates a TouchMove event and collects the strokes generated by the TouchMove event into the stroke set. The entire whiteboard then generates a TouchUp event and displays each stroke in the stroke set on the entire whiteboard through the TouchUp event.

[0047] The advantages of this invention are:

[0048] By overriding the OnStylusDown, OnStylusMove, and OnStylusUp methods, stylus and static plugins for InkCanvas are created. These plugins can recognize the StylusDown, StylusMove, and StylusUp events triggered by the pen. A stroke is constructed based on the four vertices of the object. Whether the finger is currently on an object is determined by whether it falls within the rectangle formed by the stroke. Based on this, the corresponding stylus or static plugin is invoked to perform multiple strokes. Ultimately, this allows for free writing on multiple objects simultaneously on the electronic whiteboard, greatly enhancing the user experience. Attached Figure Description

[0049] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0050] Figure 1 This is a flowchart of a multi-object, multi-stroke writing method according to the present invention.

[0051] Figure 2 This is a schematic diagram of the structure of a multi-object, multi-stroke writing system according to the present invention. Detailed Implementation

[0052] Please refer to Figures 1 to 2 As shown, a preferred embodiment of the multi-object, multi-stroke writing method of the present invention includes the following steps:

[0053] Step S10: Pre-store the device IDs of various types of pens, and create the InkCanvas stylus plugin and static plugin based on the overridden OnStylusDown, OnStylusMove and OnStylusUp methods;

[0054] Step S20: Construct strokes based on the four vertices of each object on the electronic whiteboard, and perform matrix transformations on the strokes and objects based on the operation instructions of the objects; a stroke is a trajectory composed of a set of planar coordinate points, from the beginning of a stroke to the end of a stroke; each object corresponds to an InkCanvas (a control used to collect and display ink marks, that is, to collect the coordinate sequence of the pen during the sliding process on the electronic whiteboard and display it according to the set style);

[0055] Step S30: When the current user selects multiple strokes for writing, the multiple strokes writing operation is performed based on the stylus plugin, static plugin, and stroke.

[0056] Step S10 specifically involves:

[0057] The device IDs of various pen types are pre-stored, and the number of multi-touch points supported by each pen type is obtained. In the InkCanvas ink display, an initial pen plugin is added for each touch point. The OnStylusDown, OnStylusMove, and OnStylusUp methods of each initial pen plugin are overridden to obtain the corresponding pen plugin. For example, if the current pen supports 10-point touch, 10 initial pen plugins are added. If the device IDs do not match, the OnStylusDown, OnStylusMove, and OnStylusUp methods do not perform any processing. If they match, the base class operation is called directly.

[0058] The OnStylusDown, OnStylusMove, and OnStylusUp methods of the initial static plugin of InkCanvas are overridden to obtain the corresponding static plugin.

[0059] In step S20, the operation command is to move, rotate, or scale.

[0060] Step S30 mainly enables simultaneous writing on the overall canvas and objects when writing multiple strokes at the same time. The following explanation is based on two cases of writing two strokes at a time: Case 1: The first point of the first stroke is located in the object, and the first point of the second stroke is located on the overall canvas; Case 2: The first point of the first stroke is located in the overall canvas, and the first point of the second stroke is located in the object.

[0061] Step S30 specifically involves:

[0062] The first entry is located within the object:

[0063] When the finger presses down on the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called because it is the first stroke. To avoid redrawing, the second press event generated by the stylus plugin is not called.

[0064] The object corresponding to stroke generates a TouchDown event, which is then processed by the object's InkCanvas to write on the object; the electronic whiteboard generates a StrokeCollected event, which collects the strokes written by the pen and deletes the first stroke within the object; StrokeCollected is the pen collection.

[0065] The second stroke is not located within the object:

[0066] When the finger presses the first stroke, the static plugin generates the first press event. If the first stroke is not within the rectangle formed by the strokes, the first press event is called, and the second press event generated by the stylus plugin is called. That is, by determining whether the current touch point is within the rectangle formed by the strokes, it is determined whether the current touch point is on the object.

[0067] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0068] The first entry is not located within the object:

[0069] When the finger presses the first stroke, the static plugin generates the first press event. If the first stroke is not within the rectangle formed by the stroke, the first press event is called, but the second press event generated by the stylus plugin is not called.

[0070] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0071] The second stroke is located within the object:

[0072] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called, and the second press event generated by the stylus plugin is not called.

[0073] The entire whiteboard generates a TouchDown event. When the first touch point is not on the object, a stroke is generated according to the TouchDown event and saved to the stroke set (this stroke is not displayed at this time; the display is handled by the stylus plugin). The entire whiteboard first generates a TouchMove event, collecting the strokes generated by the TouchMove event into the stroke set. The entire whiteboard then generates a TouchUp event, displaying each stroke in the stroke set onto the entire whiteboard through the TouchUp event.

[0074] A preferred embodiment of the multi-object, multi-stroke writing system of the present invention includes the following modules:

[0075] The plugin creation module is used to pre-store the device IDs of various types of pens and create InkCanvas stylus plugins and static plugins based on the overridden OnStylusDown, OnStylusMove, and OnStylusUp methods.

[0076] The stroke construction module is used to construct strokes based on the four vertices of each object on the electronic whiteboard, and to perform matrix transformations on the strokes and objects based on the operation instructions of the objects. A stroke is a trajectory composed of a set of planar coordinate points, from the beginning of a stroke to the end of a stroke. Each object corresponds to an InkCanvas (a control used to collect and display ink marks, that is, to collect the coordinate sequence of the pen during the sliding process on the electronic whiteboard and display it according to the set style).

[0077] The multi-stroke writing module is used to perform multi-stroke writing operations based on the stylus plugin, static plugin, and stroke when the current user selects to write multiple strokes.

[0078] The plugin creation module is specifically used for:

[0079] The device IDs of various pen types are pre-stored, and the number of multi-touch points supported by each pen type is obtained. In the InkCanvas ink display, an initial pen plugin is added for each touch point. The OnStylusDown, OnStylusMove, and OnStylusUp methods of each initial pen plugin are overridden to obtain the corresponding pen plugin. For example, if the current pen supports 10-point touch, 10 initial pen plugins are added. If the device IDs do not match, the OnStylusDown, OnStylusMove, and OnStylusUp methods do not perform any processing. If they match, the base class operation is called directly.

[0080] The OnStylusDown, OnStylusMove, and OnStylusUp methods of the initial static plugin of InkCanvas are overridden to obtain the corresponding static plugin.

[0081] In the stroke construction module, the operation command is to move, rotate, or scale.

[0082] The multi-stroke writing module mainly enables simultaneous writing on the overall canvas and objects when writing multiple strokes at the same time. The following explanation uses two strokes as an example to illustrate two cases: Case 1: The first point of the first stroke is located in the object, and the first point of the second stroke is located on the overall canvas; Case 2: The first point of the first stroke is located in the overall canvas, and the first point of the second stroke is located in the object.

[0083] The multi-stroke writing operation module is specifically used for:

[0084] The first entry is located within the object:

[0085] When the finger presses down on the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called because it is the first stroke. To avoid redrawing, the second press event generated by the stylus plugin is not called.

[0086] The object corresponding to stroke generates a TouchDown event, which is then processed by the object's InkCanvas to write on the object; the electronic whiteboard generates a StrokeCollected event, which collects the strokes written by the pen and deletes the first stroke within the object; StrokeCollected is the pen collection.

[0087] The second stroke is not located within the object:

[0088] When the finger presses the first stroke, the static plugin generates the first press event. If the first stroke is not within the rectangle formed by the strokes, the first press event is called, and the second press event generated by the stylus plugin is called. That is, by determining whether the current touch point is within the rectangle formed by the strokes, it is determined whether the current touch point is on the object.

[0089] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0090] The first entry is not located within the object:

[0091] When the finger presses the first stroke, the static plugin generates the first press event. If the first stroke is not within the rectangle formed by the stroke, the first press event is called, but the second press event generated by the stylus plugin is not called.

[0092] The electronic whiteboard generates a TouchDown event, and a stroke is generated and saved based on the TouchDown event; the electronic whiteboard generates a TouchMove event, and the stroke generated by the pen is collected into the stroke generated by the TouchDown event through the TouchMove event; the electronic whiteboard generates a TouchUp event, and the pen generated by the TouchDown and TouchMove events is displayed based on the TouchUp event.

[0093] The second stroke is located within the object:

[0094] When the finger presses the first stroke, the static plugin generates the first press event. When the first stroke is within a rectangle composed of strokes, the first press event is not called, and the second press event generated by the stylus plugin is not called.

[0095] The entire whiteboard generates a TouchDown event. When the first touch point is not on the object, a stroke is generated according to the TouchDown event and saved to the stroke set (this stroke is not displayed at this time; the display is handled by the stylus plugin). The entire whiteboard first generates a TouchMove event, collecting the strokes generated by the TouchMove event into the stroke set. The entire whiteboard then generates a TouchUp event, displaying each stroke in the stroke set onto the entire whiteboard through the TouchUp event.

[0096] In summary, the advantages of this invention are:

[0097] By overriding the OnStylusDown, OnStylusMove, and OnStylusUp methods, stylus and static plugins for InkCanvas are created. These plugins can recognize the StylusDown, StylusMove, and StylusUp events triggered by the pen. A stroke is constructed based on the four vertices of the object. Whether the finger is currently on an object is determined by whether it falls within the rectangle formed by the stroke. Based on this, the corresponding stylus or static plugin is invoked to perform multiple strokes. Ultimately, this allows for free writing on multiple objects simultaneously on the electronic whiteboard, greatly enhancing the user experience.

[0098] While specific embodiments of the present invention have been described above, those skilled in the art should understand that the specific embodiments described are merely illustrative and not intended to limit the scope of the present invention. Equivalent modifications and variations made by those skilled in the art in accordance with the spirit of the present invention should be covered within the scope of protection of the claims of the present invention.

Claims

1. A multi-object multi-pen writing method, characterized by: The method comprises the following steps: Step S10, storing the device ID of each type of brush in advance, and creating the stylus plug-in and the static plug-in of the InkCanvas based on the rewritten OnStylusDown method, OnStylusMove method and OnStylusUp method; Step S20, constructing strokes based on the four vertices of each object on the electronic whiteboard, and performing matrix transformation on the strokes and the object based on the operation instruction of the object; Step S30, when the current user selects multi-pen writing, performing multi-pen writing operation based on the stylus plug-in, the static plug-in and the strokes; The step S30 is specifically: The first pen is in the object: When the finger presses the first pen, the static plug-in generates a first press-down event, and when the first pen is in a certain rectangle composed of strokes, the first press-down event is not called, and a second press-down event generated by the stylus plug-in is not called; The object corresponding to the strokes generates a TouchDown event, the TouchDown event is processed by the InkCanvas of the object, and writing is performed on the object; the electronic whiteboard generates a StrokeCollected event, and strokes written by the brush are collected through the StrokeCollected event, and strokes in which the first point is in the object are deleted; The second pen is not in the object: When the finger presses the first pen, the static plug-in generates a first press-down event, and when the first pen is not in the rectangle composed of strokes, the first press-down event is called, and a second press-down event generated by the stylus plug-in is called; The electronic whiteboard generates a TouchDown event, and generates strokes based on the TouchDown event and saves them; The electronic whiteboard generates a TouchMove event, and collects the strokes generated by the brush into the strokes generated by the TouchDown event through the TouchMove event; The electronic whiteboard generates a TouchUp event, and displays the strokes generated by the TouchDown event and the TouchMove event based on the TouchUp event; The first pen is not in the object: When the finger presses the first pen, the static plug-in generates a first press-down event, and when the first pen is not in the rectangle composed of strokes, the first press-down event is called, and a second press-down event generated by the stylus plug-in is not called; The electronic whiteboard generates a TouchDown event, and generates strokes based on the TouchDown event and saves them; The electronic whiteboard generates a TouchMove event, and collects the strokes generated by the brush into the strokes generated by the TouchDown event through the TouchMove event; The electronic whiteboard generates a TouchUp event, and displays the strokes generated by the TouchDown event and the TouchMove event based on the TouchUp event; The second pen is in the object: The static plug-in generates a first press-down event when a finger presses the first pen, and does not invoke the first press-down event when the first pen is located in a rectangle composed of a stroke, and does not invoke a second press-down event generated by the stylus plug-in; The overall drawing board of the electronic whiteboard generates a TouchDown event, and generates a stroke according to the TouchDown event and saves the stroke into a stroke set when the first touch point is not on an object; the overall drawing board generates a TouchMove event, and collects strokes generated by the TouchMove event into the stroke set; The overall drawing board generates a TouchUp event, and displays the strokes in the stroke set onto the overall drawing board through the TouchUp event.

2. The multi-object multi-pen writing method of claim 1, wherein: The step S10 specifically includes: The device ID of each type of brush is pre-stored, the number of points supporting multi-point touch control of each type of brush is acquired, an initial stylus plug-in is added to each touch point in an ink display of the InkCanvas, the OnStylusDown method, the OnStylusMove method and the OnStylusUp method of each initial stylus plug-in are rewritten, and a corresponding stylus plug-in is obtained; The OnStylusDown method, the OnStylusMove method and the OnStylusUp method of the initial static plug-in of the InkCanvas are rewritten, and a corresponding static plug-in is obtained.

3. The multi-object multi-pen writing method of claim 1, wherein: In the step S20, the operation instruction is movement, rotation or zooming.

4. A multi-object multi-pen writing system, characterized by: The method comprises the following modules: The plug-in creation module is configured to pre-store the device ID of each type of brush, and create the stylus plug-in and the static plug-in of the InkCanvas based on the rewritten OnStylusDown method, the OnStylusMove method and the OnStylusUp method; The stroke construction module is configured to construct a stroke based on four vertices of each object on the electronic whiteboard, and perform matrix transformation on the stroke and the object based on an operation instruction of the object; The multi-pen writing operation module is configured to perform multi-pen writing operation based on the stylus plug-in, the static plug-in and the stroke when a user selects multi-pen writing; The multi-pen writing operation module is specifically configured to: When the first pen is located in the object: The static plug-in generates a first press-down event when a finger presses the first pen, and does not invoke the first press-down event when the first pen is located in a rectangle composed of a stroke, and does not invoke a second press-down event generated by the stylus plug-in; The object corresponding to the stroke generates a TouchDown event, the TouchDown event is processed through the InkCanvas of the object, and writing is performed on the object; the electronic whiteboard generates a StrokeCollected event, strokes during writing of the brush are collected through the StrokeCollected event, and strokes with the first point in the object are deleted; When the second pen is not located in the object: The static plug-in generates a first press-down event when the finger presses the first pen, and the first press-down event is invoked when the first pen is not located in a rectangle composed of strokes, and a second press-down event generated by the stylus plug-in is not invoked; The electronic whiteboard generates a TouchDown event, generates a stroke based on the TouchDown event, and saves the stroke; The electronic whiteboard generates a TouchMove event, and collects a stroke generated by a pen into a stroke generated by a TouchDown event through the TouchMove event; The electronic whiteboard generates a TouchUp event, and displays a pen based on the TouchUp event and TouchDown event and TouchMove event; The first pen is not located in an object: The static plug-in generates a first press-down event when the finger presses the first pen, and the first press-down event is invoked when the first pen is not located in a rectangle composed of strokes, and a second press-down event generated by the stylus plug-in is not invoked; The electronic whiteboard generates a TouchDown event, generates a stroke based on the TouchDown event, and saves the stroke; The electronic whiteboard generates a TouchMove event, and collects a stroke generated by a pen into a stroke generated by a TouchDown event through the TouchMove event; The electronic whiteboard generates a TouchUp event, and displays a pen based on the TouchUp event and TouchDown event and TouchMove event; The second pen is located in an object: The static plug-in generates a first press-down event when the finger presses the first pen, and the first press-down event is not invoked when the first pen is located in a rectangle composed of strokes, and a second press-down event generated by the stylus plug-in is not invoked; The entire drawing board of the electronic whiteboard generates a TouchDown event, generates a stroke based on the TouchDown event, and saves the stroke to a stroke set when a first touch point is not on an object; the entire drawing board generates a TouchMove event, and collects a stroke generated by the TouchMove event into the stroke set; The entire drawing board generates a TouchUp event, and displays each stroke in the stroke set to the entire drawing board through the TouchUp event.

5. A multi-object multi-pen writing system as claimed in claim 4, characterized in that: The plug-in creation module is specifically configured to: Pre-store device IDs of each type of pen, obtain a number of points supported by each type of pen for multi-point touch, add an initial stylus plug-in to each touch point in an ink display of an InkCanvas, and rewrite an OnStylusDown method, an OnStylusMove method, and an OnStylusUp method of each initial stylus plug-in, to obtain a corresponding stylus plug-in; Rewrite an OnStylusDown method, an OnStylusMove method, and an OnStylusUp method of an initial static plug-in of the InkCanvas, to obtain a corresponding static plug-in.

6. A multi-object multi-pen writing system as claimed in claim 4, wherein: In the stroke construction module, the operation instruction is movement, rotation, or zooming.

Citation Information

Patent Citations

  • On-screen area display method and device

    CN104346125A

  • Multi-person writing method and device, computer readable storage medium and terminal equipment

    CN113485570A