From graphics-request at octave dot org Sat Feb 25 18:24:14 2006 Subject: Re: Handle Graphics Properties v0.1 From: Bill Denney To: Ole Jacob Hagen cc: graphics at octave dot org Date: Sat, 25 Feb 2006 19:24:32 -0500 (EST) On Sun, 26 Feb 2006, Ole Jacob Hagen wrote: > Handle Graphics is a registered trademark owned by Mathworks Inc. Our > implementation cannot be called the same. OK, then how about Object Graphics? > Props package in Oplot has most of these objects and properties built > in. It's only to create new object, and add new properties to > them....And then you're ready. > > I like the table where all objects and their properties can be found. I > believe that this hg objects are compatible with R14? You forgot the > Root object. I did forget the root object. I also forgot image objects. > Its correct that there are no objects called legend, movie, or colorbar. > > The colorbar consists of one Axes object + Image. > Legend could also be an Axes object + Line + Text object with no axes > tickvalues. This is the easiest way of doing it. One thing that I would like is for most objects to consist of other objects (like Ole discussed for legend and axes can be patches with Lines and text as well). Now, axes may be taking it too far, but for making the act of creating a graphics backend simpler, we could probably cut down the requirements even more to just "can draw text", "can draw a line", "can draw an image", and "can draw a polygon". I think that it somewhat depends on how much of the "thought" we want octave to do and how much we want the back-ends to do. As I think that I've already mentioned, I think that I'm going to try to make an SVG back-end, and for that I will effectively be doing the coding to bring our graphics objects down to groups, lines, polygons, images, and text. > I would prefer a separate patch and a surface object. Patch is used for > polygons, while surface object is used for rendering a rectangular > grids. It might happen that Patch can be used to generate 3D surface > plots....But isn't they rendered as triangles, when we try to do that? OK, I guess that I didn't understand patch as well as I thought (I've only used them barely before and just for rectangles). One other thing that we need to think about is: how do we determine the layer order of objects (i.e. which object is drawn first and which object is drawn second to overlay the first)? I know it's simple for parent/children relationships, but what about objects at the same group level? Bill -- "I don't do drugs. I am drugs." -- Salvador Dali