ReactOS  0.4.11-dev-946-g431643b
palettemodel.cpp
Go to the documentation of this file.
1 /*
2  * PROJECT: PAINT for ReactOS
3  * LICENSE: LGPL
4  * FILE: base/applications/mspaint/palettemodel.cpp
5  * PURPOSE: Keep track of palette data, notify listeners
6  * PROGRAMMERS: Benedikt Freisen
7  */
8 
9 /* INCLUDES *********************************************************/
10 
11 #include "precomp.h"
12 
13 /* FUNCTIONS ********************************************************/
14 
16 {
17  m_fgColor = 0x00000000;
18  m_bgColor = 0x00ffffff;
19  SelectPalette(1);
20 }
21 
23 {
24  return m_nSelectedPalette;
25 }
26 
27 void PaletteModel::SelectPalette(int nPalette)
28 {
29  int modernColors[28] = {
30  0x000000, 0x464646, 0x787878, 0x300099, 0x241ced, 0x0078ff, 0x0ec2ff,
31  0x00f2ff, 0x1de6a8, 0x4cb122, 0xefb700, 0xf36d4d, 0x99362f, 0x98316f,
32  0xffffff, 0xdcdcdc, 0xb4b4b4, 0x3c5a9c, 0xb1a3ff, 0x7aaae5, 0x9ce4f5,
33  0xbdf9ff, 0xbcf9d3, 0x61bb9d, 0xead999, 0xd19a70, 0x8e6d54, 0xd5a5b5
34  };
35  int oldColors[28] = {
36  0x000000, 0x808080, 0x000080, 0x008080, 0x008000, 0x808000, 0x800000,
37  0x800080, 0x408080, 0x404000, 0xff8000, 0x804000, 0xff0040, 0x004080,
38  0xffffff, 0xc0c0c0, 0x0000ff, 0x00ffff, 0x00ff00, 0xffff00, 0xff0000,
39  0xff00ff, 0x80ffff, 0x80ff00, 0xffff80, 0xff8080, 0x8000ff, 0x4080ff
40  };
41  if (nPalette == 1)
42  CopyMemory(m_colors, modernColors, sizeof(m_colors));
43  else if (nPalette == 2)
44  CopyMemory(m_colors, oldColors, sizeof(m_colors));
45  else
46  return;
47  m_nSelectedPalette = nPalette;
49 }
50 
52 {
53  if (nIndex < 28)
54  return m_colors[nIndex];
55  else
56  return 0;
57 }
58 
59 void PaletteModel::SetColor(int nIndex, int newColor)
60 {
61  if (nIndex < 28)
62  {
63  m_colors[nIndex] = newColor;
65  }
66 }
67 
69 {
70  return m_fgColor;
71 }
72 
73 void PaletteModel::SetFgColor(int newColor)
74 {
75  m_fgColor = newColor;
77 }
78 
80 {
81  return m_bgColor;
82 }
83 
84 void PaletteModel::SetBgColor(int newColor)
85 {
86  m_bgColor = newColor;
88 }
89 
91 {
94 }
95 
97 {
99 }
#define WM_PALETTEMODELCOLORCHANGED
Definition: definitions.h:244
int SelectedPalette()
void NotifyPaletteChanged()
int m_colors[28]
Definition: palettemodel.h:16
#define WM_PALETTEMODELPALETTECHANGED
Definition: definitions.h:245
void SetColor(int nIndex, int newColor)
void SetBgColor(int newColor)
void NotifyColorChanged()
void SelectPalette(int nPalette)
#define CopyMemory
Definition: winbase.h:1633
int GetColor(int nIndex)
int m_nSelectedPalette
Definition: palettemodel.h:17
void SetFgColor(int newColor)
CPaletteWindow paletteWindow
Definition: main.cpp:67
int nIndex
Definition: msvc.h:77
CSelectionWindow selectionWindow
Definition: main.cpp:70