Files
Client/GameTools/WORLDCREATOR/ColourPopup.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

121 lines
4.1 KiB
C++

#if !defined(AFX_COLOURPOPUP_H__D0B75902_9830_11D1_9C0F_00A0243D1382__INCLUDED_)
#define AFX_COLOURPOPUP_H__D0B75902_9830_11D1_9C0F_00A0243D1382__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// ColourPopup.h : header file
//
// Written by Chris Maunder (Chris.Maunder@cbr.clw.csiro.au)
// Extended by Alexander Bischofberger (bischofb@informatik.tu-muenchen.de)
// Copyright (c) 1998.
//
// This code may be used in compiled form in any way you desire. This
// file may be redistributed unmodified by any means PROVIDING it is
// not sold for profit without the authors written consent, and
// providing that this notice and the authors name is included. If
// the source code in this file is used in any commercial application
// then a simple email would be nice.
//
// This file is provided "as is" with no expressed or implied warranty.
// The author accepts no liability if it causes any damage whatsoever.
// It's free - so you get what you pay for.
// CColourPopup messages
#define CPN_SELCHANGE WM_USER + 1001 // Colour Picker Selection change
#define CPN_DROPDOWN WM_USER + 1002 // Colour Picker drop down
#define CPN_CLOSEUP WM_USER + 1003 // Colour Picker close up
#define CPN_SELENDOK WM_USER + 1004 // Colour Picker end OK
#define CPN_SELENDCANCEL WM_USER + 1005 // Colour Picker end (cancelled)
// forward declaration
class CColourPicker;
// To hold the colours and their names
typedef struct {
COLORREF crColour;
TCHAR *szName;
} ColourTableEntry;
/////////////////////////////////////////////////////////////////////////////
// CColourPopup window
class CColourPopup : public CWnd
{
// Construction
public:
CColourPopup();
CColourPopup(CPoint p, COLORREF crColour, CWnd* pParentWnd, UINT nID,
LPCTSTR szCustomText = NULL);
void Initialise();
// Attributes
public:
// Operations
public:
BOOL Create(CPoint p, COLORREF crColour, CWnd* pParentWnd, UINT nID,
LPCTSTR szCustomText = NULL);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CColourPopup)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CColourPopup();
protected:
BOOL GetCellRect(int row, int col, const LPRECT& rect);
void FindCellFromColour(COLORREF crColour);
void SetWindowSize();
void CreateToolTips();
void ChangeSelection(int row, int col);
void EndSelection(int nMessage);
void DrawCell(CDC* pDC, int row, int col);
COLORREF GetColour(int row, int col) { return m_crColours[row*m_nNumColumns + col].crColour; }
LPCTSTR GetColourName(int row, int col) { return m_crColours[row*m_nNumColumns + col].szName; }
// protected attributes
protected:
static ColourTableEntry m_crColours[];
int m_nNumColours;
int m_nNumColumns, m_nNumRows;
int m_nBoxSize, m_nMargin;
int m_nCurrentRow, m_nCurrentCol;
int m_nChosenColourRow, m_nChosenColourCol;
BOOL m_bShowCustom;
CString m_strCustomText;
CRect m_TextRect, m_WindowRect;
CFont m_Font;
CPalette m_Palette;
COLORREF m_crInitialColour, m_crColour;
CToolTipCtrl m_ToolTip;
CWnd* m_pParent;
// Generated message map functions
protected:
//{{AFX_MSG(CColourPopup)
afx_msg void OnNcDestroy();
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnPaint();
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg BOOL OnQueryNewPalette();
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_COLOURPOPUP_H__D0B75902_9830_11D1_9C0F_00A0243D1382__INCLUDED_)