xenocara/app/xmag/Scale.txt

108 lines
4.9 KiB
Plaintext
Raw Normal View History

2006-11-25 13:07:29 -07:00
Scale Widget
Header file Scale.h
Class scaleWidgetClass
Class Name Scale
Superclass Simple
The Scale widget is an immutable image displayed within a rectangular
region of the screen. When the widget is selected, it is highlighted,
and an application callback routine is invoked. When the
widget is resized the image can be autoscaled to fit new size of the
widget window. The widget can also cut and paste its contents.
When creating a Scale widget instance, the following resources are
retreived from the argument list or from the resource database:
All the Simple Widget resources plus...
-------------------------------------------------------------------------------
Name Cass Type Default Value
-------------------------------------------------------------------------------
aspectRatio AspectRatio Float 1.0
autoscale Autoscale Boolean True
bufferSize BufferSize Cardinal 1024
foreground Foreground Pixel XtDefaultForeground
gravity Gravity XtGravity ForgetGravity
image Image XImage* NULL
internalHeight Height Dimension 2
internalWidth Width Dimension 2
pasteBuffer PasteBuffer Boolean False
precision Precision Float 0.001
proportional Proportional Boolean True
resize Resize Boolean True
scaleX ScaleFactor Float DefaultScaleValue
scaleY ScaleFactor Float DefaultScaleValue
exponent Exponent integer -3
-------------------------------------------------------------------------------
aspectRatio This resource specifies the aspect ratio of the scaled image
in the x / y * aspectRatio = 1 form. It is effective within
the precision resource only if proportional resource is set
to true. AspectRatio resource can be any positive number
greater than zero.
autoscale If this resource is set to True then the image will be
autoscaled to fit the window size within internal width
and internal height resource values. If the resource is
False, the widget will only reposition the image
according to the gravity resource value.
bufferSize This resource specifies the buffer size in XRectangle's for
buffering the XFillRectangle calls. It is effective only
for XYBitmap image type.
background This resource has the same meaning as for the Simple widget.
However, it is worth mentioning that if the most frequent
pixel value in the XYPixmap or ZPixmap image is specified
as backgroud, the scaling process can be speeded up noticably.
foreground The color used to paint the image if in XYBitmap format.
If the image is XYPixmap or ZPixmap format, the foreground
resource has no effect.
gravity This resource will determine where to put the image if it does
not fit the window size minus internal width and height.
The widget will try to preserve gravity rather than internal
width and height resources.
image This is the image to be displayed in the widget window.
If no image is desired, the NULL value can be passed.
The passed image is copied and set to the resource value.
Applications should destroy the passed image argument
if they do not intend to use it at some later time.
internalHeight
internalWidth These resources specify the minimum distance from the boarder
of the widget window to be maintanied when manipulating the
image. If image is too big or small to satisfy given
conditions, the widget will position the image to preserve
gravity rather than internalWidth or internalHeight.
pasteBuffer If this resource is true then the widget owns the paste
selection buffer. This resource can only be queried.
precision This resource specifies the precision of the scale factors
when scaling the image. The precision resource can be any
positive number greater than zero. (For example, if precision
is 1.0 then the image will be scaled only by integer values.)
proportional If this resource is set to true it will make sure that the
image proportions, as specified by aspectRatio resource,
are being kept whenever it is scaled.
resize If this resource is true the widget will try to resize when
addopting a new image thus preserveing the scale values.
If it is false the scale values will not be preserved unless
the image can fit in the current window size with the same
scale values.
scaleX
scaleY These resources specify the scaling values for the widget
image. They will be floored to satisfy precision resource
values. If uniform resource is true the scale values will
be only integers. These resources can be any positive number
greater than zero.
shiftFactor ...