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>
121 lines
4.1 KiB
C++
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_)
|