Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cXIcon.h
Go to the documentation of this file.
1 //
4 //
5 #ifndef _INC_cXIcon_H
6 #define _INC_cXIcon_H
7 #pragma once
8 
9 #include "cXSpriteMgr.h"
12 
13 namespace Gray3D
14 {
15  class cDXSpriteDC;
16 }
17 
18 namespace GrayGUI
19 {
20 
22  {
25  ICONSIZE_S = 16, //
26  ICONSIZE_D = 32,
27  ICONSIZE_M = 40,
28  ICONSIZE_L = 48, //
29  ICONSIZE_XL = 64, //
30  };
31 
32  class cXIcon2
33  {
37 
38  public:
39  cXIcon2();
40  ~cXIcon2();
41 
42  bool isIconSet() const
43  {
44  return m_SpriteFace.isValidId();
45  }
46 
47  void SetIcon(SPRITEID_t nSpriteFace, SPRITEID_t nSpriteBorder = SPRITEID_0);
48  void put_SpriteFace(SPRITEID_t iIconFace);
49  void put_SpriteBorder(SPRITEID_t tBorder);
50 
52  {
54  return m_DestSize.cx;
55  }
56  void SetIconDestSize(int cx, int cy); // how big to display. not required to be same as source size.
57  void put_IconDestSize(ICONSIZE_TYPE tSize);
58 
59  void UpdateLoadIcon();
60  void put_Alpha(COLOR_ELEM_t color);
61 
62  HRESULT DrawIconPart(cDXSpriteDC& dc, const cPoint2i& ptIcon);
63  HRESULT DrawIconFull(cDXSpriteDC& dc, const cPoint2i& ptIcon);
64 
65  private:
66  // Icon members
67  cXSpriteAnim m_SpriteFace;
68  cXSpriteId m_SpriteBorder;
69  cColorDX m_ColorFace;
70  cColorDX m_ColorBorder;
71  cColorDX m_ColorBack;
72  cWinSize m_DestSize;
73  };
74 }
75 #endif
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cXIcon.h:33
void UpdateLoadIcon()
Definition: cXIcon.cpp:64
void put_IconDestSize(ICONSIZE_TYPE tSize)
Definition: cXIcon.cpp:51
~cXIcon2()
Definition: cXIcon.cpp:15
bool isIconSet() const
Definition: cXIcon.h:42
HRESULT DrawIconPart(cDXSpriteDC &dc, const cPoint2i &ptIcon)
Definition: cXIcon.cpp:93
PIXELS_t get_DestSize() const
Definition: cXIcon.h:51
void put_SpriteBorder(SPRITEID_t tBorder)
Definition: cXIcon.cpp:36
void SetIcon(SPRITEID_t nSpriteFace, SPRITEID_t nSpriteBorder=SPRITEID_0)
Definition: cXIcon.cpp:19
void put_Alpha(COLOR_ELEM_t color)
Definition: cXIcon.cpp:56
HRESULT DrawIconFull(cDXSpriteDC &dc, const cPoint2i &ptIcon)
Definition: cXIcon.cpp:111
cXIcon2()
Definition: cXIcon.cpp:11
void put_SpriteFace(SPRITEID_t iIconFace)
Definition: cXIcon.cpp:28
void SetIconDestSize(int cx, int cy)
Definition: cXIcon.cpp:44
Definition: cColorRef.h:147
Definition: cPoint2.h:20
Definition: WinTypes.h:128
Definition: Gray3D.cpp:12
Definition: GrayGUI.cpp:11
ICONSIZE_TYPE
Definition: cXIcon.h:22
@ ICONSIZE_XL
Definition: cXIcon.h:29
@ ICONSIZE_L
Definition: cXIcon.h:28
@ ICONSIZE_S
Definition: cXIcon.h:25
@ ICONSIZE_D
default ?
Definition: cXIcon.h:26
@ ICONSIZE_M
Quick pick bar.
Definition: cXIcon.h:27
BYTE COLOR_ELEM_t
A single 8 bit color element. alpha, red, green, or blue intensity as 0-255.
Definition: cColorRef.h:34
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20