Query: dwtcolormixcreate
OS: ultrix
Section: 3dwt
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
DwtColorMixCreate(3Dwt) DwtColorMixCreate(3Dwt) Name DwtColorMixCreate - Creates a color mixing widget. Syntax Widget DwtColorMixCreate (parent_widget, name, override_arglist, override_argcount) Widget parent_widget; char *name; ArgList override_arglist; int override_argcount; Arguments parent_widget Specifies the parent widget ID. name Specifies the name of the created widget. override_arglist Specifies the application override argument list. override_argcount Specifies the number of attributes in the application override argument list (override_arglist). Description The DwtColorMixCreate function creates a color mixing widget and returns its associated widget ID. Note that unlike most of the other wid- gets in the XUI toolkit, a color mixing widget cannot be created with a high-level function. When calling DwtColorMixCreate, you specify a list of attribute name/value pairs that represents all the possible color mixing widget attributes. The color mixing widget is a composite widget; that is, it is composed of a parent widget and several child widgets at creation time. The parent widget is a pop-up dialog box that has some labels, handles geometry management, calls back to the application and contains the fol- lowing child widgets by default: o A color display subwidget that displays the colors being mixed o A color mixer subwidget that allows the user to specify colors o An optional work area widget While the color mixing widget contains these three child widgets by default, the application can replace either or both the color display and color mixer subwidgets. Thus, applications can provide any type of color display or color mixer tool model. The default color display widget displays both the original color (the color value supplied by the application when the mixing began) and the current new color. Applications can set the following values: o The original color values for red, green, and blue o The new color values for red, green, and blue o The background color of the display widget o The dimensions of the color display windows and background area If the display device is a gray scale, pseudo color, or static color device, the color display widget allocates a maximum of three color cells whenever it becomes managed. If fewer than three color cells are available, the order of precedence is as follows: 1 Original color cell 2 New color cell 3 Background color cell These color cells are deallocated whenever the widget becomes unmanaged. If an application replaces the default color display subwidget, the application may provide a function to allow the color mixing widget to pass the current new color value from the color mixer subwidget. Otherwise, the color mixing widget cannot inform the color display sub- widget of color changes. The application can return to the default color display subwidget at any time by using XtSetValues to set Dwt- NdisplayWindow to NULL. The default RGB color mixer subwidget provides three scales, each of which represents a percentage of red, green, and blue. Users may also type in the actual X color values (0 to 65535) in the entry fields. When color mixing begins, the color mixer subwidget is set to the cur- rent new color values. If an application replaces the default color mixer subwidget, the new color mixer subwidget must inform the color mixing widget of changes to the current color value. The fastest way to do this is to call the convenience function DwtColorMixSetNewColor, although you can also use XtSetValues. The application can return to the default color mixer subwidget at any time by using XtSetValues to set DwtNmixerWindow to NULL. Note that setting DwtNdisplayWindow and DwtNmixerWindow to NULL when the color mixing widget is created results in no color display subwid- get and no color mixer subwidget. Setting these attributes to NULL after the color mixing widget is created results in returning to the default color display and color mixer subwidgets. The color mixing widget runs on any XUI display device. On gray scale devices, the default color display subwidget shows the RGB values in gray scale. On static gray (monochrome) devices, the default color display subwidget is not visible. As far as geometry management is concerned, the color mixing widget conforms to the size of its children. As far as resizing is concerned, the color mixing widget uses the dialog box shrink wrap mode. It expands and shrinks relative to the size of its children. Inherited Attributes ---------------------------------------------------------------------- Attribute Name Data Type Default ---------------------------------------------------------------------- Core Attributes DwtNx Position Determined by the geome- try manager DwtNy Position Determined by the geome- try manager DwtNwidth Dimension Zero pixels DwtNheight Dimension Zero pixels DwtNborderWidth Dimension One pixel DwtNborder Pixel Default foreground color DwtNborderPixmap Pixmap NULL DwtNbackground Pixel Default background color DwtNbackgroundPixmap Pixmap NULL DwtNcolormap Colormap Default color map DwtNsensitive Boolean True DwtNancestorSensitive Boolean The bitwise AND of the parent widget's DwtNsen- sitive and DwtNances- torSensitive attributes DwtNaccelerators XtTranslations NULL DwtNdepth int Depth of the parent win- dow DwtNtranslations XtTranslations NULL DwtNmappedWhenManaged Boolean True DwtNscreen Screen * The parent screen DwtNdestroyCallback DwtCallbackPtr NULL Dialog Box Pop-Up Attributes DwtNforeground Pixel Default foreground color DwtNhighlight Pixel Default foreground color DwtNhighlightPixmap Pixmap NULL DwtNuserData Opaque * NULL DwtNdirectionRToL unsigned char DwtDirectionRightDown DwtNfont DwtFontList The default XUI Toolkit font DwtNhelpCallback DwtCallbackPtr NULL DwtNunits unsigned char DwtFontUnits DwtNstyle unsigned char DwtModeless DwtNfocusCallback DwtCallbackPtr NULL DwtNtextMergeTranslations XtTranslations NULL DwtNmarginWidth Dimension 10 pixels DwtNmarginHeight Dimension 10 pixels DwtNdefaultPosition Boolean False DwtNchildOverlap Boolean True DwtNresize unsigned char DwtResizeShrinkWrap DwtNnoResize Boolean True DwtNtitle DwtCompString "Color Mixing" DwtNmapCallback DwtCallbackPtr NULL DwtNunmapCallback DwtCallbackPtr NULL DwtNtakeFocus Boolean True for modal dialog box False for modeless dia- log box DwtNautoUnmanage Boolean False DwtNdefaultButton Widget NULL DwtNcancelButton Widget NULL DwtNgrabKeySyms KeySym The default array con- tains the Tab key sym- bol. DwtNgrabMergeTranslations XtTranslations The default syntax is: "~Shift<KeyPress>0xff09: DWTDIMOVEFOCUS- NEXT()\n.br Shift<Key- Press>0xff09: DWTDI- MOVEFOCUSPREV()"; ---------------------------------------------------------------------- Widget-Specific Attributes ----------------------------------------------------------- Attribute Name Data Type Default ----------------------------------------------------------- DwtNmainLabel DwtCompString NULL DwtNdisplayLabel DwtCompString NULL DwtNmixerLabel DwtCompString NULL DwtNorigRedValue unsigned short Zero DwtNorigGreenValue unsigned short Zero DwtNorigBlueValue unsigned short Zero DwtNnewRedValue unsigned short Zero, unless DwtNmatchColors is True, in which case DwtNnewRedValue is set to match DwtNorigRed- Value whenever the widget is created and mapped. DwtNnewGreenValue unsigned short Zero, unless DwtNmatchColors is True, in which case DwtNnewGreen- Value is set to match DwtNorig- GreenValue whenever the widget is cre- ated and mapped. DwtNnewBlueValue unsigned short Zero, unless DwtNmatchColors is True, in which case DwtNnewBlue- Value is set to match DwtNorig- BlueValue when- ever the widget is created and mapped. DwtNdisplayWindow Widget The color mix- ing widget dis- play subwidget DwtNsetNewColorProc char * The function used by the color mixing widget to update the new color values displayed in the color dis- play subwidget. DwtNmixerWindow Widget The color mix- ing widget's RGB color mixer subwidget DwtNworkWindow Widget NULL DwtNokLabel DwtCompString "OK" DwtNapplyLabel DwtCompString "Apply" DwtNresetLabel DwtCompString "Reset" DwtNcancelLabel DwtCompString "Cancel" DwtNokCallback DwtCallbackPtr NULL DwtNapplyCallback DwtCallbackPtr NULL DwtNcancelCallback DwtCallbackPtr NULL DwtNmatchColors Boolean True This attribute can be set only if the default color display widget is used. DwtNresize unsigned short Gray(32767) This attribute can be set only if the default color display widget is used. DwtNbackGreenValue unsigned short Gray(32767) This attribute can be set only if the default color display widget is used. DwtNbackBlueValue unsigned short Gray(32767) This attribute can be set only if the default color display widget is used. DwtNdisplayColWinWidth Dimension 80 pixels This attribute can be set only if the default color display widget is used. DwtNdisplayColWinHeight Dimension 80 pixels This attribute can be set only if the default color display widget is used. DwtNdispWinMargin Dimension 20 pixels This attribute can be set only if the default color display widget is used. DwtNsliderLabel DwtCompString "Percentage" This attribute can be set only if the default color mix tool widget is used. DwtNvalueLabel DwtCompString "Value" This attribute can be set only if the default color mix tool widget is used. DwtNredLabel DwtCompString "Red" This attribute can be set only if the default color mix tool widget is used. DwtNgreenLabel DwtCompString "Green" This attribute can be set only if the default color mix tool widget is used. DwtNblueLabel DwtCompString "Blue" This attribute can be set only if the default color mix tool widget is used. ----------------------------------------------------------- DwtNmainLabel Specifies the text of the main label, which is centered at the top of the color mixing widget. DwtNdisplayLabel Specifies the text of the label centered above the color display widget. DwtNmixerLabel Specifies the text of the label centered color mixing widget. DwtNorigRedValue Specifies the original red color value for the color mixing widget. Applications should set the original red value. DwtNorigGreenValue Specifies the original green color value for the color mixing widget. Applications should set the original green value. DwtNorigBlueValue Specifies the original blue color value for the color mixing widget. Applications should set the original blue value. DwtNnewRedValue Specifies the new red color value for the color mixing widget. DwtNnewGreenValue Specifies the new green color value for the color mixing widget. DwtNnewBlueValue Specifies the new blue color value for the color mixing widget. DwtNdisplayWindow Specifies the color display widget. Setting this attribute to NULL at widget creation time causes the color display widget to not be displayed. If an application substitutes its own color display widget for the default color display widget, the application is respon- sible for managing the widget, that is, making it visible and controlling its geometry management. An application can return to the default color display widget by using XtSetValues to set this attribute to NULL. DwtNsetNewColorProc Specifies the function used by the color mixing widget to update the new color values displayed in the color display subwid- get. If the application replaces the default color display subwidget and wants the color mixing widget to update the new color, the application must set this attribute. Otherwise, replacing the default color display subwidget sets this attribute to NULL. DwtNmixerWindow Specifies the color mixer subwidget. The default color mixer subwidget is based on the red, green, and blue (RGB) color model. Setting this attribute to NULL at widget creation time causes the color mixer subwidget to not be displayed. If an application substitutes its own color mixer subwidget for the default color mixer subwidget, the application is responsible for managing the widget, that is, making it visible and controlling its geometry management. An application can later return to the default color mixer subwidget by using XtSetValues to set this attribute to NULL. Applications that use the default color mixer subwidget need not worry about updating the new color. However, applications that provide their own color mixer subwidget are responsible for updating the new color. Applications can do this by using either XtSetValues or DwtColorMixSetNewColor. Using DwtColorMixSetNewColor is recommended because it is more efficient. DwtNworkWindow Specifies an optional work area widget. If this attribute is set and the application manages this widget, the work window is placed below the color display and color mixer subwidgets (if present) and above the color mixing widget push buttons. DwtNokLabel Specifies the label for the OK push button. DwtNapplyLabel Specifies the label for the Apply push button. DwtNresetLabel Specifies the label for the Reset push button. DwtNcancelLabel Specifies the label for the Cancel push button. DwtNokCallback Specifies the callback function or functions called when the user clicks on the OK push button. For this callback, the rea- son is DwtCRActivate. DwtNapplyCallback Specifies the callback function or functions called when the user clicks on the Apply push button. For this callback, the reason is DwtCRApply. DwtNcancelCallback Specifies the callback function or functions called when the user clicks on the Cancel button. For this callback, the rea- son is DwtCRCancel. DwtNmatchColors Specifies a boolean value that, when True, indicates that the new color values are matched to original color values. If False, new color values are not matched to original color values. This attribute can be set only if the default color display widget is used. DwtNbackRedValue Specifies the default color display widget's red background color. This attribute can be set only if the default color dis- play widget is used. DwtNbackGreenValue Specifies the default color display widget's green background color. This attribute can be set only if the default color display widget is used. DwtNbackBlueValue Specifies the default color display widget's blue background color. This attribute can be set only if the default color display widget is used. DwtNdisplayColWinWidth Specifies the width of the original and new color display windows. This attribute can be set only if the default color dis- play widget is used. DwtNdisplayColWinHeight Specifies the height of the original and new color display windows. This attribute can be set only if the default color display widget is used. DwtNdispWinMargin Specifies the margin between the original and the new color display windows and the edge of the color display widget. The margin is the area affected by the background attributes (set gray by default). This attribute can be set only if the default color display widget is used. DwtNsliderLabel Specifies the text of the label above the slider representing the RGB scales. This attribute can be set only if the default color mix tool widget is used. DwtNvalueLabel Specifies the text of the label above the RGB text entry fields. This attribute can be set only if the default color mix tool widget is used. DwtNredLabel Specifies the label for the RGB red scale widget. This attribute can be set only if the default color mix tool widget is used. DwtNgreenLabel Specifies the label for the RGB green scale widget. This attribute can be set only if the default color mix tool widget is used. DwtNblueLabel Specifies the label for the RGB blue scale widget. This attribute can be set only if the default color mix tool widget is used. Return Values This function returns the ID of the created widget. Callback Information The following structure is returned to your callback: typedef struct { int reason; XEvent *event; unsigned short newred; unsigned short newgrn; unsigned short newblu; unsigned short origred; unsigned short origgrn; unsigned short origblu; } DwtColorMixCallbackStruct; The reason member is set to a constant that represents the reason why this callback was invoked. For this callback, the reason member can be set to: DwtCRActivate The user has activated the OK push button. DwtCRApply The user has selected the Apply push button. DwtCRCancel The user has activated the Cancel push button. The event member is a pointer to the Xlib structure XEvent, which describes the event that generated this callback. This structure is a union of the individual structures declared for each event type. For information on XEvent and event processing, see the Guide to the Xlib Library: C Language Binding. The newred member is set to the new red color value for the color mix widget. The newgrn member is set to the new green color value for the color mix widget. The newblu member is set to the new blue color value for the color mix widget. The origred member is set to the original red color value for the color mix widget. The origgrn member is set to the original green color value for the color mix widget. The origblu member is set to the original blue color value for the color mix widget. See Also DwtColorMixSetNewColor(3Dwt), DwtColorMixGetNewColor(3Dwt) Guide to the XUI Toolkit: C Language Binding Guide to the XUI Toolkit Intrinsics: C Language Binding DwtColorMixCreate(3Dwt)