octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Graphics properties implementation


From: Shai Ayal
Subject: Re: Graphics properties implementation
Date: Sat, 12 Jan 2008 19:23:05 +0200

On Jan 12, 2008 7:16 PM, Ben Abbott <address@hidden> wrote:
>
>
> On Jan 12, 2008, at 11:53 AM, Shai Ayal wrote:
>
> > On Jan 12, 2008 6:44 PM, Michael Goffioul
> > <address@hidden> wrote:
> >> On 1/12/08, Shai Ayal <address@hidden> wrote:
> >>> OK, it seems like it's time to start adding properties.
> >>> Michael, Just so we don't duplicate our work, Do you plan on adding
> >>> other properties soon or will you focus on the backend?
> >>> If you are planning to add, lets divide the work -- tell me what you
> >>> want to add, and I'll do the rest
> >>
> >> Please go ahead with adding properties (I need them in order
> >> to continue on the rendering code). I won't have that much time
> >> this weekend, so I'll let you start on it. I think that the first
> >> thing to do is to identify the properties that every object should
> >> have and put them in the base_properties class (note that this
> >> class is not auto-generated). I remember I've seen a page
> >> in Matlab doc about common properties (I don't have Matlab
> >> under hand for the moment and the Mathworks server is down).
> >
> > yeah -- I noticed their server is down also. I don't have a copy of
> > matlab either, so I'll wait until their server is up.
> >
> >> There are other things I can do while you're working on the
> >> properties: for instance add the C++ code to implement listeners,
> >> add flags for the genprops.awk script to support hidden or
> >> read-only properties.
> >>
> >> Related to hidden properties, I think that properties like
> >> __plot_stream__ and so on should be hidden. Normally, hidden
> >> properties should not be listed by the "get(void)" method; they
> >> should only be accessible on explicit requests by the
> >> "get(caseless_str)" method. However, doing this will make
> >> some m-code not functional: for instance, "drawnow" uses
> >> "get(fig_handle)" to get a structure containing all properties;
> >> if hidden properties are not part of the structure, drawnow
> >> will fail. What do you think?
> >
> > Maybe it's not so important that this particular property is hidden -
> > our users are hardned folks and they won't be intimidated by it
> >
> > Shai
>
> Shai/Michael,
>
> If I understand what you're looking for, I'm happy to provide a list
> of properties. Let me know if this is the sort of thing you need, and
> what other objects you'd like interrogated.

Great, thanks
Shai


> set(0)
>         CurrentFigure
>         Diary: [ on | off ]
>         DiaryFile
>         Echo: [ on | off ]
>         FixedWidthFontName
>         Format: [ short | long | shortE | longE | shortG | longG | hex | bank
> | + | rational | debug | shortEng | longEng ]
>         FormatSpacing: [ loose | compact ]
>         Language
>         More: [ on | off ]
>         PointerLocation
>         RecursionLimit
>         ScreenDepth
>         ScreenPixelsPerInch
>         ShowHiddenHandles: [ on | {off} ]
>         Units: [ inches | centimeters | normalized | points | pixels |
> characters ]
>
>         ButtonDownFcn: string -or- function handle -or- cell array
>         Children
>         Clipping: [ {on} | off ]
>         CreateFcn: string -or- function handle -or- cell array
>         DeleteFcn: string -or- function handle -or- cell array
>         BusyAction: [ {queue} | cancel ]
>         HandleVisibility: [ {on} | callback | off ]
>         HitTest: [ {on} | off ]
>         Interruptible: [ {on} | off ]
>         Parent
>         Selected: [ on | off ]
>         SelectionHighlight: [ {on} | off ]
>         Tag
>         UIContextMenu
>         UserData
>         Visible: [ {on} | off ]
>
>
> set(gcf)
>         Alphamap
>         CloseRequestFcn: string -or- function handle -or- cell array
>         Color
>         Colormap
>         CurrentAxes
>         CurrentCharacter
>         CurrentObject
>         CurrentPoint
>         DockControls: [ {on} | off ]
>         DoubleBuffer: [ {on} | off ]
>         FileName
>         IntegerHandle: [ {on} | off ]
>         InvertHardcopy: [ {on} | off ]
>         KeyPressFcn: string -or- function handle -or- cell array
>         KeyReleaseFcn: string -or- function handle -or- cell array
>         MenuBar: [ none | {figure} ]
>         MinColormap
>         Name
>         NextPlot: [ new | {add} | replace | replacechildren ]
>         NumberTitle: [ {on} | off ]
>         PaperUnits: [ {inches} | centimeters | normalized | points ]
>         PaperOrientation: [ {portrait} | landscape | rotated ]
>         PaperPosition
>         PaperPositionMode: [ auto | {manual} ]
>         PaperSize
>         PaperType: [ {usletter} | uslegal | A0 | A1 | A2 | A3 | A4 | A5 | B0
> | B1 | B2 | B3 | B4 | B5 | arch-A | arch-B | arch-C | arch-D | arch-E
> | A | B | C | D | E | tabloid | <custom> ]
>         Pointer: [ crosshair | fullcrosshair | {arrow} | ibeam | watch | topl
> | topr | botl | botr | left | top | right | bottom | circle | cross |
> fleur | custom | hand ]
>         PointerShapeCData
>         PointerShapeHotSpot
>         Position
>         Renderer: [ {painters} | zbuffer | OpenGL | None ]
>         RendererMode: [ {auto} | manual ]
>         Resize: [ {on} | off ]
>         ResizeFcn: string -or- function handle -or- cell array
>         SelectionType: [ normal | open | alt | extend ]
>         ToolBar: [ none | {auto} | figure ]
>         Units: [ inches | centimeters | normalized | points | {pixels} |
> characters ]
>         WindowButtonDownFcn: string -or- function handle -or- cell array
>         WindowButtonMotionFcn: string -or- function handle -or- cell array
>         WindowButtonUpFcn: string -or- function handle -or- cell array
>         WindowScrollWheelFcn: string -or- function handle -or- cell array
>         WindowStyle: [ {normal} | modal | docked ]
>         XDisplay
>         XVisual: { 0x23 (TrueColor, depth 24, RGB mask 0xff0000 0xff00
> 0x00ff) }
>    0x24 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)
>    0x25 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)
>    0x26 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)
>
>         XVisualMode: [ {auto} | manual ]
>
>         ButtonDownFcn: string -or- function handle -or- cell array
>         Children
>         Clipping: [ {on} | off ]
>         CreateFcn: string -or- function handle -or- cell array
>         DeleteFcn: string -or- function handle -or- cell array
>         BusyAction: [ {queue} | cancel ]
>         HandleVisibility: [ {on} | callback | off ]
>         HitTest: [ {on} | off ]
>         Interruptible: [ {on} | off ]
>         Parent
>         Selected: [ on | off ]
>         SelectionHighlight: [ {on} | off ]
>         Tag
>         UIContextMenu
>         UserData
>         Visible: [ {on} | off ]
>
> set(gca)
>         ActivePositionProperty: [ position | {outerposition} ]
>         ALim
>         ALimMode: [ {auto} | manual ]
>         AmbientLightColor
>         Box: [ on | {off} ]
>         CameraPosition
>         CameraPositionMode: [ {auto} | manual ]
>         CameraTarget
>         CameraTargetMode: [ {auto} | manual ]
>         CameraUpVector
>         CameraUpVectorMode: [ {auto} | manual ]
>         CameraViewAngle
>         CameraViewAngleMode: [ {auto} | manual ]
>         CLim
>         CLimMode: [ {auto} | manual ]
>         Color
>         ColorOrder
>         DataAspectRatio
>         DataAspectRatioMode: [ {auto} | manual ]
>         DrawMode: [ {normal} | fast ]
>         FontAngle: [ {normal} | italic | oblique ]
>         FontName
>         FontSize
>         FontUnits: [ inches | centimeters | normalized | {points} | pixels ]
>         FontWeight: [ light | {normal} | demi | bold ]
>         GridLineStyle: [ - | -- | {:} | -. | none ]
>         Layer: [ top | {bottom} ]
>         LineStyleOrder
>         LineWidth
>         MinorGridLineStyle: [ - | -- | {:} | -. | none ]
>         NextPlot: [ new | add | {replace} | replacechildren ]
>         OuterPosition
>         PlotBoxAspectRatio
>         PlotBoxAspectRatioMode: [ {auto} | manual ]
>         Projection: [ {orthographic} | perspective ]
>         Position
>         TickLength
>         TickDir: [ {in} | out ]
>         TickDirMode: [ {auto} | manual ]
>         Title
>         Units: [ inches | centimeters | {normalized} | points | pixels |
> characters ]
>         View
>         XColor
>         XDir: [ {normal} | reverse ]
>         XGrid: [ on | {off} ]
>         XLabel
>         XAxisLocation: [ top | {bottom} ]
>         XLim
>         XLimMode: [ {auto} | manual ]
>         XMinorGrid: [ on | {off} ]
>         XMinorTick: [ on | {off} ]
>         XScale: [ {linear} | log ]
>         XTick
>         XTickLabel
>         XTickLabelMode: [ {auto} | manual ]
>         XTickMode: [ {auto} | manual ]
>         YColor
>         YDir: [ {normal} | reverse ]
>         YGrid: [ on | {off} ]
>         YLabel
>         YAxisLocation: [ {left} | right ]
>         YLim
>         YLimMode: [ {auto} | manual ]
>         YMinorGrid: [ on | {off} ]
>         YMinorTick: [ on | {off} ]
>         YScale: [ {linear} | log ]
>         YTick
>         YTickLabel
>         YTickLabelMode: [ {auto} | manual ]
>         YTickMode: [ {auto} | manual ]
>         ZColor
>         ZDir: [ {normal} | reverse ]
>         ZGrid: [ on | {off} ]
>         ZLabel
>         ZLim
>         ZLimMode: [ {auto} | manual ]
>         ZMinorGrid: [ on | {off} ]
>         ZMinorTick: [ on | {off} ]
>         ZScale: [ {linear} | log ]
>         ZTick
>         ZTickLabel
>         ZTickLabelMode: [ {auto} | manual ]
>         ZTickMode: [ {auto} | manual ]
>
>         ButtonDownFcn: string -or- function handle -or- cell array
>         Children
>         Clipping: [ {on} | off ]
>         CreateFcn: string -or- function handle -or- cell array
>         DeleteFcn: string -or- function handle -or- cell array
>         BusyAction: [ {queue} | cancel ]
>         HandleVisibility: [ {on} | callback | off ]
>         HitTest: [ {on} | off ]
>         Interruptible: [ {on} | off ]
>         Parent
>         Selected: [ on | off ]
>         SelectionHighlight: [ {on} | off ]
>         Tag
>         UIContextMenu
>         UserData
>         Visible: [ {on} | off ]
>
> line = plot([1,2],[1,2])
>
> line =
>
>    159.0022
>
>  >> set(line)
>
> ans =
>
>             DisplayName: {}
>                   Color: {}
>               EraseMode: {4x1 cell}
>               LineStyle: {5x1 cell}
>               LineWidth: {}
>                  Marker: {14x1 cell}
>              MarkerSize: {}
>         MarkerEdgeColor: {2x1 cell}
>         MarkerFaceColor: {2x1 cell}
>                   XData: {}
>                   YData: {}
>                   ZData: {}
>           ButtonDownFcn: {}
>                Children: {}
>                Clipping: {2x1 cell}
>               CreateFcn: {}
>               DeleteFcn: {}
>              BusyAction: {2x1 cell}
>        HandleVisibility: {3x1 cell}
>                 HitTest: {2x1 cell}
>           Interruptible: {2x1 cell}
>                Selected: {2x1 cell}
>      SelectionHighlight: {2x1 cell}
>                     Tag: {}
>           UIContextMenu: {}
>                UserData: {}
>                 Visible: {2x1 cell}
>                  Parent: {}
>               XDataMode: {2x1 cell}
>             XDataSource: {}
>             YDataSource: {}
>             ZDataSource: {}
>
> ht = text(0,0,'test')
>
> ht =
>
>    160.0011
>
>  >> set(ht)
>         BackgroundColor
>         Color
>         DisplayName
>         EdgeColor
>         EraseMode: [ {normal} | background | xor | none ]
>         Editing: [ on | off ]
>         FontAngle: [ {normal} | italic | oblique ]
>         FontName
>         FontSize
>         FontUnits: [ inches | centimeters | normalized | {points} | pixels ]
>         FontWeight: [ light | {normal} | demi | bold ]
>         HorizontalAlignment: [ {left} | center | right ]
>         LineStyle: [ {-} | -- | : | -. | none ]
>         LineWidth
>         Margin
>         Position
>         Rotation
>         String
>         Units: [ inches | centimeters | normalized | points | pixels |
> characters | {data} ]
>         Interpreter: [ latex | {tex} | none ]
>         VerticalAlignment: [ top | cap | {middle} | baseline | bottom ]
>
>         ButtonDownFcn: string -or- function handle -or- cell array
>         Children
>         Clipping: [ {on} | off ]
>         CreateFcn: string -or- function handle -or- cell array
>         DeleteFcn: string -or- function handle -or- cell array
>         BusyAction: [ {queue} | cancel ]
>         HandleVisibility: [ {on} | callback | off ]
>         HitTest: [ {on} | off ]
>         Interruptible: [ {on} | off ]
>         Parent
>         Selected: [ on | off ]
>         SelectionHighlight: [ {on} | off ]
>         Tag
>         UIContextMenu
>         UserData
>         Visible: [ {on} | off ]
>
>   x = [0 0 1 1];
>  >> y = [0 1 1 0];
>  >> c = [0 0 1];
>  >> hp = patch(x,y,c)
>
> hp =
>
>    161.0011
>
>  >> set(hp)
>         AlphaDataMapping: [ none | direct | {scaled} ]
>         CData
>         CDataMapping: [ direct | {scaled} ]
>         DisplayName
>         FaceVertexAlphaData
>         FaceVertexCData
>         EdgeAlpha: [ flat | interp ] -or- {an Alpha}.
>         EdgeColor: [ none | flat | interp ] -or- {a ColorSpec}.
>         EraseMode: [ {normal} | background | xor | none ]
>         FaceAlpha: [ flat | interp ] -or- {an Alpha}.
>         FaceColor: [ none | flat | interp ] -or- {a ColorSpec}.
>         Faces
>         LineStyle: [ {-} | -- | : | -. | none ]
>         LineWidth
>         Marker: [ + | o | * | . | x | square | diamond | v | ^ | > | < |
> pentagram | hexagram | {none} ]
>         MarkerEdgeColor: [ none | {auto} | flat ] -or- a ColorSpec.
>         MarkerFaceColor: [ {none} | auto | flat ] -or- a ColorSpec.
>         MarkerSize
>         Vertices
>         XData
>         YData
>         ZData
>         FaceLighting: [ none | {flat} | gouraud | phong ]
>         EdgeLighting: [ {none} | flat | gouraud | phong ]
>         BackFaceLighting: [ unlit | lit | {reverselit} ]
>         AmbientStrength
>         DiffuseStrength
>         SpecularStrength
>         SpecularExponent
>         SpecularColorReflectance
>         VertexNormals
>         NormalMode: [ {auto} | manual ]
>
>         ButtonDownFcn: string -or- function handle -or- cell array
>         Children
>         Clipping: [ {on} | off ]
>         CreateFcn: string -or- function handle -or- cell array
>         DeleteFcn: string -or- function handle -or- cell array
>         BusyAction: [ {queue} | cancel ]
>         HandleVisibility: [ {on} | callback | off ]
>         HitTest: [ {on} | off ]
>         Interruptible: [ {on} | off ]
>         Parent
>         Selected: [ on | off ]
>         SelectionHighlight: [ {on} | off ]
>         Tag
>         UIContextMenu
>         UserData
>         Visible: [ {on} | off ]
>
> Ben
>
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]