AU2012268908A1 - Method and graphical interface for embedding animated content into a computer application - Google Patents

Method and graphical interface for embedding animated content into a computer application Download PDF

Info

Publication number
AU2012268908A1
AU2012268908A1 AU2012268908A AU2012268908A AU2012268908A1 AU 2012268908 A1 AU2012268908 A1 AU 2012268908A1 AU 2012268908 A AU2012268908 A AU 2012268908A AU 2012268908 A AU2012268908 A AU 2012268908A AU 2012268908 A1 AU2012268908 A1 AU 2012268908A1
Authority
AU
Australia
Prior art keywords
animated content
window
objects
application
computer application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU2012268908A
Inventor
Taco Van Ieperen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smart Technologies ULC
Original Assignee
Smart Technologies ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2007234309A external-priority patent/AU2007234309A1/en
Application filed by Smart Technologies ULC filed Critical Smart Technologies ULC
Priority to AU2012268908A priority Critical patent/AU2012268908A1/en
Publication of AU2012268908A1 publication Critical patent/AU2012268908A1/en
Abandoned legal-status Critical Current

Links

Abstract

Abstract A method of displaying a computer application comprising a plurality of objects within an initially transparent application window comprises creating an animated content window below the application window for each animated content object of the computer application and directing the player responsible for playing the animated content object to draw the animated content directly therein. The objects of the computer application are examined and a clipping mask for each animated content object corresponding generally to the animated content window created therefor is defined. Starting from bottom to top, an object from the list is selected. If the selected object is not an animated content object, the object is drawn within the application window except in areas corresponding to the clipping masks. If the selected object is an animated content object, the clipping mask defined for animated content object is removed, thereby to allow selected objects in the list above the animated content object to be drawn thereover. (Figure 1) LOCATE ANIMATED CONTENT OBJECTS DEFINE WINDOWS 102 FOR ANIMATED CONTENT OBJECTS DRAW TRANSPARENT 104 COMPUTER APPLICATION DEFINE CLIPPING DRAW OBJECTS

Description

- la METHOD AND GRAPHICAL INTERFACE FOR EMBEDDING ANIMATED CONTENT INTO A COMPUTER APPLICATION Field of the Invention [0001] The present invention relates generally to the display of computer generated 5 images and in particular, to a method and graphical interface for embedding animated content into a computer application. Background of the Invention [0001a] Any discussion of the prior art throughout the specification should in no way be considered as an admission that such prior art is widely known or forms part of 10 common general knowledge in the field. [0002] As is well known, computer applications written for a Windows-type or Mac type operating system platform, when executed, present a variety of objects within a window. These objects are layered on top of one another. The window can also be layered over top of other application windows. For example, word processing 15 applications enable a user to type text over top of a document image displayed within a window while graphics applications enable a user to create and manipulate shapes over top of a document image displayed within a window. Both the word processing application and graphics application windows can be layered over top of other applications. 20 [0003] Many techniques for handling and displaying layered application windows have been considered. For example, U.S. Patent No. 5,831,615 to Drews et al. discloses a method and apparatus for re-drawing a transparent window on a display device. If a transparent window and an underlying second window exist, a check is made to determine if the underlying second window is active. If it is determined that the 25 underlying second window is active, the underlying second window is re-drawn on the display device and the transparent window is shown. If the underlying second window is not active, the transparent window is maintained. [0004] U.S. Patent No. 5,949,432 to Gough et al. discloses a method and apparatus for producing a translucent image over a base image created on a display by 30 a selected first application program. The first application program runs on a central processing unit and produces the base image. An overlay program produces the translucent image such that portions of the base image which are overlapped by the overlay image are at least partially visible through the translucent image.
-2 [0005] U.S. Patent No. 6,275,236 to Delahunty discloses a system and method for displaying tracked objects on a display. The current location and a number of previous locations of the objects are written with pixel values having non-zero overlay data. An ordered set of codes is written into pixel 5 values for the current location and the set of codes is indicated to a driver. The driver uses the overlay data displaying the current and previous object locations sequentially in order of the set. The displayed locations may be displayed by unmasking the overlay data. [0006] With respect to computer applications comprising layered 10 objects, providing rich animated content in such computer applications to enhance the visual impact that the computer applications have on viewers is common. Such rich animated content may for example take the form of Java applets, Macromedia Flash, Apple Quicktime video, RealVideo and Widows Media Player video to name a few. 15 [0007] Typically, when animated content is to be embedded into a computer application, a window residing on top of the computer application is established by the computer application into which the animated content is to be drawn. The computer application then tells the player responsible for playing the animated content where the window is, allowing the player to draw 20 into the window directly on-screen without notifying the computer application. Although this enables the animated content to be drawn efficiently, it has drawbacks as the window for the animated content resides on top of the computer application and thus, always remains visible. As will be appreciated, this can be problematic in some environments, such as for 25 example in interactive applications where users write, annotate and draw on displayed images. Because the window for the animated content resides on top of the computer application, users are unable to draw over the animated content effectively reducing the interactive area of the computer application. [0008] Attempts to deal with this problem have been considered. For 30 example, to enable animated content to be incorporated into an interactive computer application without reducing the interactive area of the computer application, rather than having the player write the animated content directly -3 on-screen into a window residing on top of the computer application, the player is directed to write the animated content to an off-screen buffer or bitmap. The bitmap is treated by the computer application as an object and is drawn by the computer application within its window allowing annotations, writing etc. to appear over the 5 animated content. Unfortunately, forcing the player to write the animated content to the off-screen buffer is extremely slow as compared to writing directly to a window on screen. Copying the animated content from the off-screen buffer to the computer application for display is also very slow. The end result is a significant drop in performance making this approach impractical. As will be appreciated, there exists a 10 need for improvements in embedding animated content into computer applications. [0008a] It is an object of the present invention to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative. [0009] It is therefore an object of a preferred embodiment of the present invention to provide a method and graphical interface for embedding animated content into a 15 computer application. Summary of the Invention [0010] Accordingly, in one aspect there is provided a method of embedding animated content in a computer application having an associated initially transparent window in which application content is displayed, said method comprising: 20 drawing animated content into at least one animated content window overlapping with the computer application window; for each object of the computer application defined to be below the animated content, drawing the object at its appropriate location within the computer application window except at a location generally corresponding to said at least one 25 animated content window; and for each object of the computer application defined to be above the animated content, drawing the object at its appropriate location within the computer application window. [0011] In one embodiment, the location of the at least one animated content 30 window relative to the computer application window is defined prior to drawing of the computer application window. A clipping region for the -4 animated content is defined that is active only for each object below the animated content. The clipping region inhibits each object below the animated content from overwriting the at least one animated content window. [0012] According to another aspect there is provided a method of 5 displaying a computer application comprising a plurality of objects to be layered on top of one another within an initially transparent application window, said method comprising: creating an animated content window below the application window for each animated content object of said computer application and 10 directing the player responsible for playing the animated content object to draw the animated content directly therein; examining the objects of said computer application and defining a clipping mask for each animated content object corresponding generally to the animated content window created therefor; 15 starting from bottom to top, selecting an object; if said selected object is not an animated content object, drawing said object within said application window except in areas corresponding to each clipping mask; and if said selected object is an animated content object, removing 20 the clipping mask defined for said animated content object, thereby to allow selected objects above said animated content object to be drawn over the animated content. [0013] According to yet another aspect there is provided a method of displaying a computer application comprising a plurality of objects within an 25 initially transparent application window, said method comprising: defining an animated content window for each animated content object of said computer application; defining a clipping mask for each animated content object of said computer application that corresponds generally to the animated content 30 window created therefor, each clipping mask applying only to objects below its associated animated content object; and -5 drawing the objects of said computer application within the application window, wherein drawn non-animated content objects below animated content objects are inhibited by the clipping masks from overwriting the animated content windows. 5 [0014] According to still yet another aspect there is provided a graphical interface presenting layered objects of an executing computer application comprising: a transparent application window; at least one animated content window overlapping with the 10 application window in which animated content is directly written; at least one non-animated content object below an animated content object drawn into the application window except at a location corresponding to said at least one animated content window; and at least one non-animated content object above the animated 15 content object drawn into the application window over said at least one animated content window. [0015] According to still yet another aspect there is provided a computer readable medium embodying a computer program for displaying a computer application comprising a plurality of objects to be layered on top of 20 one another within an initially transparent application window, said computer program comprising: computer program code for creating an animated content window below the application window for each animated content object of said computer application and directing the player responsible for playing the 25 animated content object to draw the animated content directly therein; computer program code for examining the objects of said computer application and defining a clipping mask for each animated content object corresponding generally to the animated content window created therefor; 30 computer program code for, starting from bottom to top, selecting an object; -6 computer program code for drawing said object within said application window except in areas corresponding to each clipping mask if said selected object is not an animated content object; and computer program code for removing the clipping mask defined 5 for said animated content object, thereby to allow selected objects above said animated content object to be drawn over the animated content if said selected object is an animated content object. [0016] According to still yet another aspect there is provided a computer readable medium embodying a computer program for displaying a 10 computer application comprising a plurality of objects within an initially transparent application window, said computer program comprising: computer program code for defining an animated content window for each animated content object of said computer application; computer program code for defining a clipping mask for each 15 animated content object of said computer application that corresponds generally to the animated content window created therefor, each clipping mask applying only to objects below its associated animated content object; and computer program code for drawing the objects of said 20 computer application within the application window, wherein drawn non animated content objects below animated content objects are inhibited by the clipping masks from overwriting the animated content windows. [0017] As will be appreciated, the display method and graphical interface allows animated content to be drawn directly on-screen without 25 requiring the animated content to reside on top of the computer application into which it has been embedded. In this manner, the animated content can be efficiently drawn and displayed while still allowing the animated content to be overwritten by other objects. 30 Brief Description of the Drawings [0018] An embodiment will now be described more fully with reference to the accompanying drawings in which: -7 Figure 1 is a flowchart showing the general steps performed during display of a computer application including embedded animated content; Figure 2 is a flowchart showing the steps performed during 5 clipping mask defining; Figure 3 is a flowchart showing the steps performed during object drawing; and Figure 4 shows an exploded view of layered objects of a computer application including embedded animated content and a collapsed 10 view of the same layered objects. Detailed Description of the Embodiment [0019] A method and graphical interface for embedding animated content into a computer application of the type comprising various objects that 15 may be layered on top of one another and displayed above the animated content is provided. Within the context of this disclosure, embedding refers to animated content that shares the same display space as, and thus overlaps with, the computer application window presented on the graphical interface. The objects in the list may comprise form, control, graphical, animated content 20 and other objects. [0020] During running of the computer application, the list of objects making up the computer application is examined to locate animated content objects (step 100). For each animated content object in the list, a window within the graphical interface presented on the display into which the 25 animated content is to be drawn, that resides below the computer application window, is defined by the computer application (step 102). The computer application then tells the player responsible for playing the animated content where the window defined for that animated content object is, so that the animated content is drawn directly into the window without notifying the 30 computer application. The window is positioned at the location where the animated content is to appear within the computer application window.
-8 [0021] A transparent computer application window for the computer application is then drawn by the computer application on the graphical interface over the defined animated content windows (step 104). As is known by those of skill in the art, Mac OSX and Windows provides for the ability for 5 application windows to be transparent so that whatever is beneath the transparent application windows is visible. In this manner, the defined animated content windows are visible through the computer application window. Clipping masks corresponding in shape and size to the windows in which the animated content is to be drawn are defined (step 106). The 10 objects of the computer application are then handled and drawn from bottom to top within the computer application window. Non-animated content objects in the list that appear below one or more animated content objects cannot draw into the regions defined by the associated clipping mask(s) and thus, cannot overwrite the animated content displayed in the windows associated 15 with those animated content objects. The clipping masks defined for animated content objects that are below non-animated content objects are removed prior to drawing of the non-animated content objects above them and thus, these non-animated content objects can overwrite the animated content displayed in the windows associated with the animated content 20 objects below them. As will be appreciated, steps 102 to 108 are performed whenever the computer application window receives input focus i.e. becomes active, is moved, or is resized. Further specifics concerning the clipping mask defining and object drawing procedures will now be described with reference to Figures 2 to 4. 25 [0022] During defining of the clipping masks for the animated content objects at step 106, the bottom object in the list is initially selected (step 200 in Figure 2) and a check is made to determine if the selected object is an animated content object (step 202). If the selected object is not an animated content object, the list is examined to determine if one or more other objects 30 exist (step 204). If so, the next object in the list is selected (step 206) and the process reverts back to step 202 to determine if the selected object is an -9 animated content object. If not, the clipping mask defining procedure is deemed to be completed. [0023] At step 202, if the selected object is an animated content object, the size and shape of the window into which the animated content object is to 5 be drawn is determined and a clipping mask corresponding in size and shape to the window is established (step 208). The list is then examined to determine if one or more other objects exist (step 204). If so, the next object in the list is selected (step 206) and the process reverts back to step 202 to determine if the selected object is an animated content object. If not, the 10 clipping mask defining procedure is deemed to be completed. [0024] During drawing of the objects in the list at step 108, again the bottom object in the list is initially selected (step 300 in Figure 3) and a check is made to determine if it is an animated content object (step 302). If not, the non-animated content object is drawn at its designated location within the 15 computer application window (step 304). If a clipping mask for one or more animated content objects above the selected non-animated content object exists, the non-animated content object is prevented from being drawn in the region defined by each clipping mask. In this manner, if the designated location for the non-animated content object overlaps with a window 20 designated for animated content, the non-animated content object is inhibited from overwriting the window ensuring that the window remains visible. [0025] Once the non-animated content object has been drawn, the list is examined to determine if one or more other objects exist (step 306). If so, the next object in the list is selected (step 308) and the process reverts back 25 to step 302 to determine if the selected object is an animated content object. If not, the object drawing procedure is deemed to be completed. [0026] At step 302, if the selected object is an animated content object, the clipping mask defined for the animated content object is removed (step 310). The computer application then directs the player responsible for playing 30 the animated content to draw the animated content into its associated window. The list is then examined to determine if one or more other objects exist (step 306). If so, the next object in the list is selected (step 308) and the -10 process reverts back to step 302 to determine if the selected object is an animated content object. If not, the object drawing procedure is deemed to be completed. As will be appreciated following step 310, once the clipping mask associated with an animated content object has been removed, selected non 5 animated content objects in the list above that animated content object are not prevented from writing over its associated window in which the animated content is drawn. In this manner, non-animated content objects corresponding to user input annotations, drawing, writing etc. can write over the animated content object. 10 [0027] For example, turning now to Figure 4, the objects of a computer application are shown in an exploded view as well as in a collapsed single view as displayed by the graphical interface. In this example, the computer application includes the following objects listed from bottom to top as follows: Shaded background 400; 15 Free-hand circle 402; Animated content object; and Hand-drawn line 406. [0028} During drawing of the computer application objects, as the shaded background and free-hand circle non-animated content objects 400 20 and 402 respectively appear in the list below the animated content object, at step 108 when these objects are drawn, the clipping mask defined for the animated content object inhibits the objects from drawing over the window 410 designated for the animated content object ensuring that the window remains fully visible through these objects. The hand-drawn line non 25 animated content object 406 however appears in the list above the animated content object and thus, when this object is being drawn, the clipping mask defined for the animated content object has been removed. This of course allows the hand-drawn line object 406 to overwrite the window 410 designated for the animated content object. 30 [0029] The above method of displaying a computer application including embedded animated content is particularly suited to interactive applications running on touch systems such as those disclosed in U.S. Patent - 11 No. 5,448,263 to Martin and U.S. Patent No. 6,803,906 to Morrison et al., assigned to SMART Technologies Inc. of Calgary, Alberta. Of course, the method can be used in basically any environment where computer applications including embedded animated content are being run. 5 [0030] The method and graphical interface may be embodied as computer executable instructions or program code executed by a processing unit such as a personal computer or other computing system environment and stored on a computer readable medium. The computer readable medium is any data storage device that can store data, which can thereafter be read by a computer system. Examples of computer 10 readable medium include for example read-only memory, random-access memory, CD ROMs, magnetic tape and optical data storage devices. The computer readable program code can also be distributed over a network including coupled computer systems so that the computer readable program code is stored and executed in a distributed fashion. 15 [0031] Although an embodiment has been described above, those of skill in the art will appreciate that variations and modifications may be made without departing from the spirit and scope thereof as defined by the appended claims. [0032] Unless the context clearly requires otherwise, throughout the description and the claims, the words "comprise", "comprising", and the like are to be construed in 20 an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in the sense of "including, but not limited to".

Claims (13)

1. A method of embedding animated content in a computer application having an associated initially transparent window in which application content is displayed, said method comprising: 5 drawing animated content into at least one animated content window overlapping with the computer application window; for each object of the computer application defined to be below the animated content, drawing the object at its appropriate location within the computer application window except at a location generally corresponding to said at least one 10 animated content window; and for each object of the computer application defined to be above the animated content, drawing the object at its appropriate location within the computer application window.
2. The method of claim 1 further comprising defining a clipping region for 15 animated content that is active only for each object below the animated content, said clipping region inhibiting each object below the animated content from overwriting the at least one animated content window.
3. The method of claim 1 or claim 2 further comprising defining the location of the at least one animated content window relative to said computer application window 20 prior to drawing said computer application window.
4. The method of claim 3 further comprising defining a clipping region for animated content that is active only for each object below the animated content, said clipping region inhibiting each object below the animated content from overwriting the at least one animated content window. 25
5. A method of displaying a computer application comprising a plurality of objects to be layered on top of one another within an initially transparent application window, said method comprising: -13 creating an animated content window below the application window for each animated content object of said computer application and directing the player responsible for playing the animated content object to draw the animated content directly therein; 5 examining the objects of said computer application and defining a clipping mask for each animated content object corresponding generally to the animated content window created therefor; starting from bottom to top, selecting an object; if said selected object is not an animated content object, drawing 10 said object within said application window except in areas corresponding to each clipping mask; and if said selected object is an animated content object, removing the clipping mask defined for said animated content object, thereby to allow selected objects above said animated content object to be drawn over the 15 animated content.
6. A method of displaying a computer application comprising a plurality of objects within an initially transparent application window, said method comprising: 20 defining an animated content window for each animated content object of said computer application; defining a clipping mask for each animated content object of said computer application that corresponds generally to the animated content window created therefor, each clipping mask applying only to objects below its 25 associated animated content object; and drawing the objects of said computer application within the application window, wherein drawn non-animated content objects below animated content objects are inhibited by the clipping masks from overwriting the animated content windows. 30
7. A graphical interface presenting layered objects of an executing computer application comprising: -14 a transparent application window; at least one animated content window overlapping with the application window in which animated content is directly written; at least one non-animated content object below an animated 5 content object drawn into the application window except at a location corresponding to said at least one animated content window; and at least one non-animated content object above the animated content object drawn into the application window over said at least one animated content window. 10
8. A graphical interface according to claim 7 comprising a plurality non-animated content objects below and above said at least one animated content object. 15
9. A computer readable medium embodying a computer program for displaying a computer application comprising a plurality of objects to be layered on top of one another within an initially transparent application window, said computer program comprising: computer program code for creating an animated content 20 window below the application window for each animated content object of said computer application and directing the player responsible for playing the animated content object to draw the animated content directly therein; computer program code for examining the objects of said computer application and defining a clipping mask for each animated content 25 object corresponding generally to the animated content window created therefor; computer program code for, starting from bottom to top, selecting an object; computer program code for drawing said object within said 30 application window except in areas corresponding to each clipping mask if said selected object is not an animated content object; and -15 computer program code for removing the clipping mask defined for said animated content object, thereby to allow selected objects above said animated content object to be drawn over the animated content if said selected object is an animated content object. 5
10. A computer readable medium embodying a computer program for displaying a computer application comprising a plurality of objects within an initially transparent application window, said computer program comprising: computer program code for defining an animated content window for each animated content object of said computer application; 10 computer program code for defining a clipping mask for each animated content object of said computer application that corresponds generally to the animated content window created therefor, each clipping mask applying only to objects below its associated animated content object; and computer program code for drawing the objects of said computer application 15 within the application window, wherein drawn non-animated content objects below animated content objects are inhibited by the clipping masks from overwriting the animated content windows.
11. A method substantially as herein described with reference to any one of the embodiments of the invention illustrated in the accompanying drawings and/or 20 examples.
12. A graphical interface presenting layered objects of an executing computer application substantially as herein described with reference to any one of the embodiments of the invention illustrated in the accompanying drawings and/or examples. 25
13. A computer readable medium embodying a computer program for displaying a computer application substantially as herein described with reference to any one of the embodiments of the invention illustrated in the accompanying drawings and/or examples.
AU2012268908A 2006-03-30 2012-12-31 Method and graphical interface for embedding animated content into a computer application Abandoned AU2012268908A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2012268908A AU2012268908A1 (en) 2006-03-30 2012-12-31 Method and graphical interface for embedding animated content into a computer application

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/392,815 2006-03-30
AU2007234309A AU2007234309A1 (en) 2006-03-30 2007-03-29 Method and graphical interface for embedding animated content into a computer application
AU2012268908A AU2012268908A1 (en) 2006-03-30 2012-12-31 Method and graphical interface for embedding animated content into a computer application

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2007234309A Division AU2007234309A1 (en) 2006-03-30 2007-03-29 Method and graphical interface for embedding animated content into a computer application

Publications (1)

Publication Number Publication Date
AU2012268908A1 true AU2012268908A1 (en) 2013-01-24

Family

ID=47560891

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2012268908A Abandoned AU2012268908A1 (en) 2006-03-30 2012-12-31 Method and graphical interface for embedding animated content into a computer application

Country Status (1)

Country Link
AU (1) AU2012268908A1 (en)

Similar Documents

Publication Publication Date Title
US8675015B2 (en) Method and graphical interface for embedding animated content into a computer application
US10497086B2 (en) Methods and apparatuses for providing a hardware accelerated web engine
US7404147B2 (en) System and method for dynamic space management of a display space
US7257776B2 (en) Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects
Bederson et al. Implementing a zooming user interface: experience building pad++
US5883634A (en) System and method for clipping pixels drawn in one of a plurality of windows in a computer graphics system
US7755644B1 (en) Revealing clipped portion of image object
US8423883B1 (en) Systems and methods of creating and editing electronic content including multiple types of graphics
US5150312A (en) Animation processor method and apparatus
US8508551B1 (en) Rendering changed portions of composited images
US6075532A (en) Efficient redrawing of animated windows
JP2005038263A (en) Image processor, image processing method, recording medium, and program
KR20040021563A (en) Screen display processing apparatus, screen display processing method and computer program
CN109766034A (en) Method, apparatus, equipment and the storage medium of quickly starting application program
US7528839B1 (en) Faster clears for three-dimensional modeling applications
AU2012268908A1 (en) Method and graphical interface for embedding animated content into a computer application
US6580836B2 (en) Scan line rendering of convolutions
JP2010164972A (en) Method and apparatus for drawing image
CN110990660A (en) Data graph display method, storage medium and device
JP3337934B2 (en) Blink display method
AU2007202158A1 (en) Simplifying complex gradients
EP1390836A1 (en) Method for presenting circular dialog windows
JP2001092982A (en) Device and method for plotting image and information recording medium

Legal Events

Date Code Title Description
MK4 Application lapsed section 142(2)(d) - no continuation fee paid for the application