Claims
- 1. In a computing environment, a method comprising:
receiving, at a defined interface, a request to create a visual to contain graphic information in a scene graph, and in response, creating the visual; providing a drawing context for the visual; maintaining data in association with the visual, the data received via the drawing context; and processing the scene graph including the visual to provide graphics data to a graphics subsystem.
- 2. The method of claim 1 wherein providing a drawing context comprises receiving a request to open the visual and in response, providing a reference to the drawing context.
- 3. The method of claim 1 wherein maintaining data in the visual comprises maintaining at least one drawing primitive received via the drawing context.
- 4. The method of claim 1 further comprising receiving a request to close the drawing context and in response, closing the drawing context.
- 5. The method of claim 1 wherein the visual comprises a drawing visual accessed by program code.
- 6. The method of claim 1 wherein the visual comprises a validation visual accessed by program code, and further comprising, invalidating the visual, and communicating data to the program code to validate the visual.
- 7. The method of claim 1 wherein the visual comprises a surface visual and wherein the data maintained in association with the visual comprises pixel data.
- 8. The method of claim 1 wherein the visual comprises a surface visual, and further comprising a surface visual manager that relates the surface visual to a subgraph of at least one other visual by traversing the subgraph to provide an image to the surface visual.
- 9. The method of claim 1 wherein maintaining data in association with the visual includes receiving at least one drawing primitive via the drawing context.
- 10. The method of claim 1 wherein receiving at least one drawing primitive comprises receiving an image data primitive.
- 11. The method of claim 1 wherein receiving at least one drawing primitive comprises receiving a video data primitive.
- 12. The method of claim 1 wherein receiving at least one drawing primitive comprises receiving a geometry primitive.
- 13. The method of claim 12 wherein receiving a geometry primitive comprises receiving data corresponding to at least one property of a line.
- 14. The method of claim 12 wherein receiving a geometry primitive comprises receiving data corresponding to at least one property of an ellipse.
- 15. The method of claim 12 wherein receiving a geometry primitive comprises receiving data corresponding to at least one property of a rectangle.
- 16. The method of claim 12 wherein receiving a geometry primitive comprises receiving data corresponding to at least one property of a complex single shape.
- 17. The method of claim 12 wherein receiving a geometry primitive comprises receiving data corresponding to at least one property of a list of shapes and an operation for combining the listed shapes.
- 18. The method of claim 1 wherein at least one drawing primitive is associated with brush object data.
- 19. The method of claim 18 wherein the brush object data comprises solid color brush data.
- 20. The method of claim 18 wherein the brush object data comprises gradient brush data.
- 21. The method of claim 20 wherein the gradient brush object data comprises linear gradient object data, including at least a start point and an end point.
- 22. The method of claim 20 wherein the gradient brush object data comprises radial gradient object data, including circle data and a focal point.
- 23. The method of claim 18 wherein the brush object data comprises image brush data.
- 24. The method of claim 18 wherein the brush object data comprises nine grid brush data.
- 25. The method of claim 18 wherein the brush object data comprises visual brush data.
- 26. The method of claim 18 wherein the visual brush data comprises a reference to another visual.
- 27. The method of claim 1 wherein maintaining data in association with the visual includes receiving brush data via the drawing context.
- 28. The method of claim 1 wherein maintaining data in association with the visual includes receiving pen data via the drawing context.
- 29. The method of claim 28 wherein the pen data comprises at least one of: width data, line join data, line cap data, miter limit data, dash array data and dash offset data.
- 30. The method of claim 1 wherein maintaining data in association with the visual includes receiving effects data via the drawing context.
- 31. The method of claim 1 wherein maintaining data in association with the visual includes receiving opacity data via the drawing context.
- 32. The method of claim 1 wherein maintaining data in association with the visual includes receiving clipping data via the drawing context.
- 33. The method of claim 1 wherein maintaining data in association with the visual includes receiving transform data via the drawing context.
- 34. The method of claim 33 wherein the transform data comprises transform list data.
- 35. The method of claim 33 wherein the transform data comprises translation data.
- 36. The method of claim 33 wherein the transform data comprises rotation data.
- 37. The method of claim 33 wherein the transform data comprises scaling data.
- 38. The method of claim 33 wherein the transform data comprises skew data.
- 39. The method of claim 33 wherein the transform data comprises transform matrix data.
- 40. The method of claim 33 wherein the transform data comprises transform animation data for at least one property of a transform.
- 41. The method of claim 1 wherein maintaining data in association with the visual includes receiving viewbox data via the drawing context by which the visual is fit into a grid cell.
- 42. The method of claim 41 wherein the viewbox data is specified by at least one of: stretch, horizontal alignment and vertical alignment properties.
- 43. The method of claim 1 wherein processing the scene graph comprises traversing the scene graph.
- 44. The method of claim 1 wherein processing the scene graph comprises transmitting the scene graph.
- 45. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
- 46. A computer-implemented method, comprising:
receiving function calls at an interface to a scene graph data structure; and processing data associated with the function calls to create objects in the scene graph and hierarchically arrange those objects with respect to one another, the objects corresponding to a scene graph object model.
- 47. The method of claim 46 wherein one of the objects comprises a validation visual, and further comprising, calling a program to repopulate the validation visual.
- 48. The method of claim 46 wherein one of the objects comprises a visual, and further comprising, providing a drawing context to populate the object with drawing data received via the drawing context.
- 49. The method of claim 48 further comprising receiving data via the drawing context comprising image data.
- 50. The method of claim 48 further comprising receiving data via the drawing context comprising video data.
- 51. The method of claim 48 further comprising receiving data via the drawing context comprising geometry data.
- 52. The method of claim 51 wherein the geometry data comprises at least one of: line data, ellipse data, rectangle data or a complex single shape data.
- 53. The method of claim 51 wherein the geometry data comprises a list of shapes and an operation for combining the listed shapes.
- 54. The method of claim 48 further comprising receiving data via the drawing context comprising brush data.
- 55. The method of claim 54 wherein the brush data comprises solid color brush data.
- 56. The method of claim 54 wherein the brush data comprises gradient brush data.
- 57. The method of claim 54 wherein the brush data comprises image brush data.
- 58. The method of claim 54 wherein the brush data comprises nine grid brush data.
- 59. The method of claim 54 wherein the brush data comprises visual brush data.
- 60. The method of claim 48 further comprising receiving data via the drawing context comprising pen data.
- 61. The method of claim 60 wherein the pen data comprises at least one of: width data, line join data, line cap data, miter limit data, dash array data and dash offset data.
- 62. The method of claim 48 further comprising receiving opacity data via the drawing context.
- 63. The method of claim 48 further comprising receiving clipping data via the drawing context.
- 64. The method of claim 48 further comprising receiving transform data via the drawing context.
- 65. The method of claim 48 further comprising receiving viewbox data comprising at least one of: stretch, horizontal alignment and vertical alignment properties.
- 66. The method of claim 46 further comprising, processing the scene graph to provide graphics data to a graphics subsystem.
- 67. The method of claim 46 wherein one of the objects comprises a surface visual, and further comprising, maintaining pixel data in association with the surface visual.
- 68. The method of claim 67 further comprising, relating the surface visual to a subgraph of at least one other visual by traversing the subgraph.
- 69. A computer-readable medium having computer-executable instructions for performing the method of claim 46.
- 70. In a computing environment, a system comprising:
a scene graph data structure configured to contain objects of a scene graph object model; an interface between a program and the scene graph data structure, the interface configured to:
1) receive function calls from the program to create objects in the scene graph, and 2) hierarchically arrange those objects with respect to one another, the objects corresponding to a scene graph object model.
- 71. The system of claim 70 wherein the interface instantiates a builder to create at least one of the objects.
- 72. The system of claim 70 wherein one of the objects comprises a visual.
- 73. The system of claim 72 further comprising a drawing context, the interface returning a reference to the drawing context for populating the visual with data.
- 74. The system of claim 72 wherein the visual comprises a drawing visual.
- 75. The system of claim 72 wherein the visual comprises a validation visual.
- 76. The system of claim 72 further comprising a visual manager configured to process the scene graph to provide graphics data to at least one lower-level graphics component.
- 77. The system of claim 72 wherein the visual comprises a surface visual.
- 78. The system of claim 77 wherein the surface visual includes a subgraph, and further comprising a surface visual manager configured to traverse the subgraph.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to the following copending U.S. patent applications: Ser. No. 10/184,795 entitled Multiple-Level Graphics Processing System and Method; Ser. No. 10/184,796, entitled Generic Parameterization for a Scene Graph; Ser. No. 10/185,775 entitled “Intelligent Caching Data Structure for Immediate Mode Graphics;” each filed on Jun. 27, 2002; and United States Patent Application entitled “Markup Language and Object Model for Vector Graphics” (Attorney Docket No. 3480), filed concurrently herewith. Each related application is assigned to the assignee of the present patent application and hereby incorporated by reference in its entirety.