CA2390390C - Graphics stack system and method - Google Patents

Graphics stack system and method Download PDF

Info

Publication number
CA2390390C
CA2390390C CA2390390A CA2390390A CA2390390C CA 2390390 C CA2390390 C CA 2390390C CA 2390390 A CA2390390 A CA 2390390A CA 2390390 A CA2390390 A CA 2390390A CA 2390390 C CA2390390 C CA 2390390C
Authority
CA
Canada
Prior art keywords
graphics
display
stack
coordinate data
objects
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.)
Expired - Lifetime
Application number
CA2390390A
Other languages
French (fr)
Other versions
CA2390390A1 (en
Inventor
Matthew Bells
Brian A. Young
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CA2390390A1 publication Critical patent/CA2390390A1/en
Application granted granted Critical
Publication of CA2390390C publication Critical patent/CA2390390C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Abstract

A system and method are provided for drawing graphics, such as to display a user interface on a display of a mobile device. A graphics stack is used to store pre-computed coordinate values to improve performance for drawing graphics, such as to display a user interface on a display of a mobile device.

Claims (42)

1. A computer-implemented method for performing display-related operations on a display of a mobile device, the method comprising the steps of:

creating a graphics stack to store coordinate data, for respective objects, in respective graphics contexts, wherein the coordinate data specifies regions related to the mobile device's display, said regions defining areas within which the respective objects may perform display-related operations;

modifying the coordinate data, for an object, on the graphics stack if a display-related operation would produce a drawing that is wider or taller than coordinate data, for its parent object, on the graphics stack, wherein parent-child relationships between the objects form a hierarchy; and pushing a graphics context, for the object, onto the graphics stack based upon position of the object within the hierarchy, wherein the object's display-related operation is performed after the respective graphics context is pushed onto the graphics stack.
2. The method of claim 1 wherein the display-related operations are based upon abstract windowing technology (awt).
3. The method of claim 2 wherein the awt comprises a framework of user interface objects for use on the mobile device.
4. The method of claim 1 wherein the mobile device is a handheld data communication device.
5. The method of claim 1 wherein the mobile device is a cellular telephone.
6. The method of claim 1 wherein the mobile device is a portable data assistant (PDA).
7. The method of claim 1 wherein the graphics stack stores pre-computed coordinate data for respective objects.
8. The method of claim 1 wherein the coordinate data comprises offset coordinate data.
9. The method of claim 8 wherein the display has a coordinate system, and wherein the offset coordinate data indicates a point in the coordinate system of the display from which a drawing operation is to occur.
10. The method of claim 8 wherein the coordinate data comprises clip rectangle coordinate data.
11. The method of claim 1 wherein the coordinate data comprises clip rectangle coordinate data.
12. The method of claim 11 wherein the clip rectangle coordinate data for a respective object comprises four points within which a drawing operation is to occur.
13. The method of claim 11 wherein the clip rectangle coordinate data for a respective object comprises a point, a width extending horizontally from the point, and a height extending vertically from the point, within which a drawing operation is to occur.
14. The method of claim 11 wherein the clip rectangle coordinate data defines areas within which the respective objects may perform display-related operations .
15. The method of claim 1 wherein the coordinate data is based upon a coordinate system of the mobile device's display.
16. The method of claim 1 wherein the coordinate data of at least one object is based upon a parent object's relative coordinates.
17. The method of claim 1 wherein the coordinate data of at least one object is based upon a child object's relative coordinates.
18. The method of claim 1 wherein graphics contexts, for respective objects, are pushed onto the graphics stack based on the hierarchy in a depth-first fashion.
19. The method of claim 18 wherein each graphics context, for a respective object, is popped from the graphics stack after that object's display-related operation has been performed.
20. The method of claim 19 wherein popping one of said graphics contexts, for a respective object, from the graphics stack restores a current graphics context to the graphics context of a parent of the respective object.
21. The method of claim 19 wherein graphics contexts, for respective objects, are popped from the graphics stack until only a graphics context for a base object remains on the graphics stack.
22. The method of claim 21 wherein the graphics context, for the base object, specifies an original graphics context.
23. The method of claim 1 wherein if the graphics stack is empty then a default graphics context is established for the graphics stack.
24. The method of claim 1 wherein a child object's coordinate data stored on the graphics stack is modified based upon coordinate data of a parent of the child object that is stored on the graphics stack, whereby the modified coordinate data decreases processing power needed to perform a display-related operation.
25. The method of claim 1 wherein an object's display-related operation is performed based upon the graphics context for the object being pushed onto the graphics stack.
26. The method of claim 1 wherein each object's display-related operation is performed after the graphics context for that object is pushed onto the graphics stack.
27. The method of claim 1 wherein graphics contexts for respective objects are popped from the graphics stack based upon the respective positions of the graphics contexts within the graphics stack, and wherein the pushing and popping of the graphics contexts for the respective objects result in drawing graphics in layers on the display of the mobile device.
28. The method of claim 1 wherein a first set of objects form a hierarchy of objects for a first context, wherein a second set of objects form a hierarchy of objects for a second context, wherein the first set of graphics contexts for objects are pushed onto and popped from the graphics stack based upon position of the objects within the hierarchy of the first context, wherein the second set of graphics contexts for objects are pushed onto and popped from the graphics stack based upon position of the objects within the hierarchy of the second context, and wherein the pushing and popping of the graphics contexts for the respective objects for the first and second contexts result in generating a layering of drawings on the display of the mobile device.
29. The method of claim 28 wherein the second context comprises a modal context.
30. The method of claim 1 wherein the modified coordinate data ensures that no drawing operations occur outside the bounds of the mobile device's display.
31. The method of claim 1 wherein producing a drawing results in graphics being displayed.
32. A computer-implemented method for performing display-related operations on a display of a mobile device, the method comprising the steps of:

creating a graphics stack to store coordinate data, for respective objects, in respective graphics contexts, wherein the coordinate data specifies regions being related to the mobile device's display, said regions defining areas within which the objects may perform display-related operations;

modifying the coordinate data, for an object, on the graphics stack if a display-related operation would produce a drawing that exceeds the bounds, of its parent object, on the graphics stack, wherein parent-child relationships between the objects form a hierarchy; and pushing a graphics context for the object onto the graphics stack based upon position of the object within the hierarchy, wherein the object's display-related operation is performed after the respective graphics context is pushed onto the graphics stack.
33. The method of claim 32 wherein the modified coordinate data ensures that no drawing operations occur outside the bounds of the mobile device's display.
34. The method of claim 32 wherein producing a drawing results in graphics being displayed.
35. The method of claim 1 wherein a graphics context for a first object occupies an upper position within the graphics stack relative to a graphics context for a second object, and wherein the graphic context of the first object is based upon the graphic context of the second object.
36. The method of claim 1 wherein the object's display-related operation to be performed comprises generating a view port for holding child objects that may be wider or taller than the view port.
37. The method of claim 1 wherein the graphics stack is used to store pre-computed coordinate values, thereby improving computation performance for drawing graphics.
38. The method of claim 1 further comprising the step of:

storing, on the graphics stack, graphic attribute data for at least one object in addition to coordinate data, wherein the attribute data specifies graphics options related to the mobile device's display, said options defining the manner in which the objects may perform display-related operations;

wherein the attribute data, of a parent object, on the stack provides default values for graphics options for the parent's children on the stack;
and wherein the attribute data, of a child object, on the stack overrides the corresponding default values.
39. The method of claim 38 wherein the graphics attribute data is selected from the group consisting of font, color, pen style, fill pattern, and image.
40. The method of claim 38 wherein a graphics context for a first object occupies an upper position within the graphics stack relative to a graphics context for a second object, and wherein a graphic attribute of the second object is based upon a graphic attribute of the first object.
41. A computer readable memory having recorded thereon statements and instructions for execution by a computer to carry out a method comprising the steps of:

creating a graphics stack to store coordinate data, for respective objects, in respective graphics contexts, wherein the objects perform display-related operations on a display of a mobile device, wherein parent-child relationships between the objects form a hierarchy, and wherein the coordinate data specifies regions related to the mobile device's display, said regions defining areas within which the objects may perform display-related operations;

modifying the coordinate data, for an object, on the graphics stack if a display-related operation would produce a drawing that is wider or taller than coordinate data, for its parent object, on the graphics stack; and pushing a graphics context, for an object, onto the graphics stack based upon position of the object within the hierarchy, wherein an object's display-related operation is performed after the respective graphics context is pushed onto the graphics stack.
42. An apparatus for performing display-related operations on a display of a mobile device, the apparatus comprising:

a processor;

means for creating a graphics stack to store coordinate data, for objects, in graphics contexts, wherein parent-child relationships between the objects form a hierarchy, and wherein the coordinate data specifies regions related to the mobile device's display, said regions defining areas within which the objects may perform display-related operations;

means for modifying the coordinate data, for an object, on the graphics stack when a display related operation would produce a drawing that is wider or taller than coordinate data, for its parent object, on the graphics stack;
and means for pushing a graphics context, for each object, onto the respective graphics stack based upon a position of that object within the hierarchy, wherein that object's display-related operation is performed after the respective graphics context is pushed onto the graphics stack.
CA2390390A 2001-07-03 2002-07-03 Graphics stack system and method Expired - Lifetime CA2390390C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30287101P 2001-07-03 2001-07-03
US60/302,871 2001-07-03

Publications (2)

Publication Number Publication Date
CA2390390A1 CA2390390A1 (en) 2003-01-03
CA2390390C true CA2390390C (en) 2011-08-30

Family

ID=23169558

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2390390A Expired - Lifetime CA2390390C (en) 2001-07-03 2002-07-03 Graphics stack system and method

Country Status (2)

Country Link
US (5) US7200819B2 (en)
CA (1) CA2390390C (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7872652B2 (en) * 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US8656311B1 (en) * 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US8813100B1 (en) 2007-01-07 2014-08-19 Apple Inc. Memory management
EP2104072A4 (en) * 2007-01-15 2014-03-05 Fujitsu Semiconductor Ltd Graphic system and its drawing method
US7948576B2 (en) * 2008-09-25 2011-05-24 Apple Inc. P-chassis arrangement for positioning a display stack
KR101282970B1 (en) * 2012-11-30 2013-07-08 (주)인스웨이브시스템즈 Apparatus and method for position determination using context cognition technology in program development
US9965452B2 (en) 2014-09-04 2018-05-08 Home Box Office, Inc. Pre-children in a user interface tree

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449201A (en) * 1981-04-30 1984-05-15 The Board Of Trustees Of The Leland Stanford Junior University Geometric processing system utilizing multiple identical processors
US5255359A (en) * 1989-10-23 1993-10-19 International Business Machines Corporation Picking function for a pipeline graphics system using hierarchical graphics structures
EP0626635B1 (en) * 1993-05-24 2003-03-05 Sun Microsystems, Inc. Improved graphical user interface with method for interfacing to remote devices
JP3214776B2 (en) * 1994-04-13 2001-10-02 株式会社東芝 Virtual environment display device and method
JPH0816820A (en) * 1994-04-25 1996-01-19 Fujitsu Ltd Three-dimensional animation generation device
US5680619A (en) * 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
US6088786A (en) * 1997-06-27 2000-07-11 Sun Microsystems, Inc. Method and system for coupling a stack based processor to register based functional unit
US6614541B1 (en) * 1998-12-03 2003-09-02 International Business Machines Corporation Method and system for specification of data-presentation variability data via scaleable interface
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US7571389B2 (en) * 2001-05-31 2009-08-04 International Business Machines Corporation System, computer-readable storage device, and method for combining the functionality of multiple text controls in a graphical user interface

Also Published As

Publication number Publication date
US8296685B2 (en) 2012-10-23
US8156449B2 (en) 2012-04-10
US20100306695A1 (en) 2010-12-02
US8533633B2 (en) 2013-09-10
CA2390390A1 (en) 2003-01-03
US20130002692A1 (en) 2013-01-03
US7200819B2 (en) 2007-04-03
US7779366B2 (en) 2010-08-17
US20030020740A1 (en) 2003-01-30
US20070150837A1 (en) 2007-06-28
US20120169749A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
US8296685B2 (en) Graphics stack system and method
JP5616223B2 (en) System and method for capturing digital images
CN104866755B (en) Setting method and device for background picture of application program unlocking interface and electronic equipment
US6995776B2 (en) Terminal device, information display method, and program for said information display method
CN102043586A (en) Method and device for displaying background color in electronic form
JPH0540463A (en) Multi-level character generator
US20080143673A1 (en) Method and Apparatus For Moving Cursor Using Numerical Keys
WO2013078788A1 (en) Text display method and apparatus
CN102073973A (en) Method for obtaining and editing user-defined graph and subtitle graph fabricating system
CN109887058A (en) Cross-platform drafting system
JP2008097450A (en) Graphics drawing device and program
KR101179644B1 (en) 3D Renderer Engine for 2D Mobile Device
JP2000148126A (en) Image display device and method
CN112667220B (en) Animation generation method and device and computer storage medium
CN108897537A (en) Document display method, computer-readable medium and a kind of computer
JPH0827690B2 (en) Display control method
JPH0554114A (en) Image display device
KR100586602B1 (en) Method for overlaing raster map
JPH04195096A (en) Graphic display device
CN115965711A (en) Graphics processing method and device
JPH02176927A (en) Processing system for character
JP2611198B2 (en) Image processing device
CN117472368A (en) View debugging method, device, computer equipment and storage medium
CN114463350A (en) Processing method and related device for local high-definition screenshot based on digital teaching material
CN115469955A (en) Real-time background fuzzy processing method and device and computer readable storage medium

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20220704