+Palette* NewMonochromePalette (void)
+/* Create and return a palette with two entries (black and white) */
+{
+ /* Create a new palette */
+ Palette* P = NewPalette (2);
+
+ /* Set the two colors */
+ P->Entries[0] = RGBA (0x00, 0x00, 0x00, 0x00);
+ P->Entries[1] = RGBA (0xFF, 0xFF, 0xFF, 0x00);
+
+ /* Return the new palette */
+ return P;
+}
+
+
+
+Palette* DupPalette (const Palette* P)
+/* Create a copy of a palette */
+{
+ Palette* N;
+
+
+ /* Allow to pass a NULL palette */
+ if (P == 0) {
+ return 0;
+ }
+
+ /* Create a new palette */
+ N = NewPalette (P->Count);
+
+ /* Copy the palette data */
+ memcpy (N->Entries, P->Entries, P->Count * sizeof (P->Entries[0]));
+
+ /* Return the copy */
+ return N;
+}
+
+
+