Palette class generates a (big) group of objects, alltogether making up a powerful palette requester. Due to the new color selection schemes of Kickstart 3.x, you won't get a "traditional" palette requester with 2^n fields to fill in. These things really stop making sense on nice 256 or true color screens. Instead, MUI's palette class allows defining a list of colors that the user should be able to adjust. Within a public screen manager, this would e.g. be the DrawInfo pens for a specific screen, within a terminal program maybe the eight ANSI colors. Palette class uses a listview to let the user choose the desired color, a coloradjust object to adjust this color and a colorfield object that always shows the current color. The user will also be able to concatenate several colors in the list, defining a single color for several entries.
Attribute Ver ISG Type ----------------------------------- --- --- -------------------- MUIA_Palette_Entries V6 I.G struct MUI_Palette_Entry * MUIA_Palette_Groupable V6 ISG BOOL MUIA_Palette_Names V6 ISG char **
NAME MUIA_Palette_Entries -- (V6 ) [I.G], struct MUI_Palette_Entry * FUNCTION Specify the colors that the user should be able to adjust with this palette object. You supply an array of MUI_Palette_Structures here, each entry defining one color: struct MUI_Palette_Entry { LONG mpe_ID; ULONG mpe_Red; ULONG mpe_Green; ULONG mpe_Blue; LONG mpe_Group; }; mpe_ID : This entry is not used by palette class, you can put in whatever you want, except the value MUIV_Palette_Entry_End (==-1), which terminates the array. mpe_Red : 32-bit red component of the current color. This field will be changed by palette class whenever the user edits the color. mpe_Green: 32-bit green component of the current color. This field will be changed by palette class whenever the user edits the color. mpe_Blue : 32-bit blue component of the current color. This field will be changed by palette class whenever the user edits the color. mpe_Group: Entries with the same mpe_Group value are concatenated. Whenever a new color in the listview is selected, all other colors with the same mpe_Group get selected as well and get adjusted all at once. Entry concatenation can be changed by the user, as long as you don't disable this feature with the MUIA_Palette_Groupable attribute. EXAMPLE static struct MUI_Palette_Entry SystemDefaultPalette[] = { { TEXTPEN ,0x00000000,0x00000000,0x00000000,0 }, { SHINEPEN ,0xffffffff,0xffffffff,0xffffffff,1 }, { SHADOWPEN ,0x00000000,0x00000000,0x00000000,0 }, { FILLPEN ,0x66666666,0x88888888,0xbbbbbbbb,2 }, { FILLTEXTPEN ,0xffffffff,0xffffffff,0xffffffff,1 }, { BACKGROUNDPEN ,0xaaaaaaaa,0xaaaaaaaa,0xaaaaaaaa,3 }, { HIGHLIGHTTEXTPEN,0xffffffff,0xffffffff,0xffffffff,1 }, { BARDETAILPEN ,0x00000000,0x00000000,0x00000000,0 }, { BARBLOCKPEN ,0xffffffff,0xffffffff,0xffffffff,1 }, { BARTRIMPEN ,0x00000000,0x00000000,0x00000000,0 }, { MUIV_Palette_Entry_End,0,0,0,0 }, }; SEE ALSO MUIA_Palette_Names
NAME MUIA_Palette_Groupable -- (V6 ) [ISG], BOOL FUNCTION Enables/disables palette color grouping. Defaults to TRUE. SEE ALSO MUIA_Palette_Entries
NAME MUIA_Palette_Names -- (V6 ) [ISG], char ** FUNCTION Specify the names of a palette objects color entries. Without names, the color listview just displays "Color <n>" for each entry. If you supply an array of names here, they are displayed instead. The names array must have as many entries as the array of MUI_Palette_Entry structures (without its terminator). EXAMPLE static struct MUI_Palette_Entry ColorEntries[] = { { TEXTPEN ,0x00000000,0x00000000,0x00000000,2 }, { SHINEPEN ,0xffffffff,0xffffffff,0xffffffff,4 }, { SHADOWPEN ,0x00000000,0x00000000,0x00000000,5 }, { FILLPEN ,0x66666666,0x88888888,0xbbbbbbbb,3 }, { FILLTEXTPEN ,0xffffffff,0xffffffff,0xffffffff,6 }, { BACKGROUNDPEN ,0x00000000,0x00000000,0x00000000,7 }, { HIGHLIGHTTEXTPEN,0xffffffff,0xffffffff,0xffffffff,8 }, { BARDETAILPEN ,0x00000000,0x00000000,0x00000000,9 }, { BARBLOCKPEN ,0xffffffff,0xffffffff,0xffffffff,1 }, { BARTRIMPEN ,0x00000000,0x00000000,0x00000000,0 }, { MUIV_Palette_Entry_End,0,0,0,0 }, }; static const char *ColorNames[] = { "Text" , "Bright Edges" , "Dark Edges" , "Active Window Bars" , "Active Window Titles", "Background" , "Important Text" , "Menu Text" , "Menu Background" , "Menu Line" }; po = PaletteObject, MUIA_Palette_Entries, ColorEntries, MUIA_Palette_Names , ColorNames, End; SEE ALSO MUIA_Palette_Entries
© 1997, Stefan Stuntz | [MUI Homepage] [Autodoc Index] [Feedback] | Updated: 29-Mar-97 |