%---------------- Functions ------------

\chapter{Palette.mui/Palette.mui}
\rule{\textwidth}{1mm}
\vspace{0.5cm}
\begin{deflist}{MMMMMMMM}
\item[\bf FUNCTION]
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$\uparrow$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.
\end{deflist}


\subsection{Palette.mui/MUIA\_Palette\_Entries}
\rule{\textwidth}{1mm}
\vspace{0.5cm}
\begin{deflist}{MMMMMMMM}
\item[\bf NAME]
\begin{description}
\item[MUIA\_Palette\_Entries]  -- (V6 ) [I.G], struct MUI\_Palette\_Entry *
\end{description}

\item[\bf 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.

\item[\bf EXAMPLE]
\begin{flushleft}
\begin{verbatim}
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 },
};
\end{verbatim}
\end{flushleft}
\item[\bf SEE ALSO]
MUIA\_Palette\_Names
\end{deflist}


\subsection{Palette.mui/MUIA\_Palette\_Groupable}
\rule{\textwidth}{1mm}
\vspace{0.5cm}
\begin{deflist}{MMMMMMMM}
\item[\bf NAME]
\begin{description}
\item[MUIA\_Palette\_Groupable]  -- (V6 ) [ISG], BOOL
\end{description}

\item[\bf FUNCTION]
Enables/disables palette color grouping.
Defaults to TRUE.

\item[\bf SEE ALSO]
MUIA\_Palette\_Entries
\end{deflist}


\subsection{Palette.mui/MUIA\_Palette\_Names}
\rule{\textwidth}{1mm}
\vspace{0.5cm}
\begin{deflist}{MMMMMMMM}
\item[\bf NAME]
\begin{description}
\item[MUIA\_Palette\_Names]  -- (V6 ) [ISG], char **
\end{description}

\item[\bf 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 MUIA\_Palette\_Entry structures (without
its terminator).

\item[\bf EXAMPLE]
\begin{flushleft}
\begin{verbatim}
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;
\end{verbatim}
\end{flushleft}
\item[\bf SEE ALSO]
MUIA\_Palette\_Entries
\end{deflist}


%---------------- End of File ----------
