Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: flexscrollbar.h
|
||||
//
|
||||
// Desc: Implements CFlexScrollBar (derived from CFlexWnd), a scroll bar
|
||||
// control similar to a Windows scroll bar.
|
||||
//
|
||||
// Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef __FLEXSCROLLBAR_H__
|
||||
#define __FLEXSCROLLBAR_H__
|
||||
|
||||
|
||||
#include "flexwnd.h"
|
||||
|
||||
|
||||
#define FSBF_HORZ 0
|
||||
#define FSBF_VERT 1
|
||||
|
||||
struct FLEXSCROLLBARCREATESTRUCT {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
int min, max, page, pos;
|
||||
HWND hWndParent;
|
||||
HWND hWndNotify;
|
||||
RECT rect;
|
||||
BOOL bVisible;
|
||||
};
|
||||
|
||||
class CFlexScrollBar : public CFlexWnd
|
||||
{
|
||||
public:
|
||||
CFlexScrollBar();
|
||||
~CFlexScrollBar();
|
||||
|
||||
BOOL Create(FLEXSCROLLBARCREATESTRUCT *);
|
||||
|
||||
void SetColors(COLORREF bk, COLORREF fill, COLORREF line);
|
||||
|
||||
void SetValues(int, int, int, int);
|
||||
void SetValues(int min, int max, int page) {SetRange(min, max, page);}
|
||||
void SetValues(int min, int max) {SetRange(min, max);}
|
||||
|
||||
void SetRange(int min, int max, int page) {SetValues(min, max, page, GetPos());}
|
||||
void SetRange(int min, int max) {SetRange(min, max, GetPage());}
|
||||
|
||||
void SetMin(int v) {SetValues(v, GetMax(), GetPage(), GetPos());}
|
||||
void SetMax(int v) {SetValues(GetMin(), v, GetPage(), GetPos());}
|
||||
void SetPage(int v) {SetValues(GetMin(), GetMax(), v, GetPos());}
|
||||
void SetPos(int v) {SetValues(GetMin(), GetMax(), GetPage(), v);}
|
||||
|
||||
int GetMin() {return m_nMin;}
|
||||
int GetMax() {return m_nMax;}
|
||||
int GetPage() {return m_nPage;}
|
||||
int GetPos() {return m_nPos;}
|
||||
|
||||
int GetThumbPos() {return m_bDragging ? m_nThumbPos : -1;}
|
||||
|
||||
void AdjustPos(int adj, BOOL bForceCalc = FALSE);
|
||||
|
||||
protected:
|
||||
virtual void OnPaint(HDC hDC);
|
||||
virtual LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
int m_nMin, m_nMax, m_nPage, m_nPos;
|
||||
BOOL m_bVert;
|
||||
HWND m_hWndNotify;
|
||||
|
||||
COLORREF m_rgbBk, m_rgbFill, m_rgbLine;
|
||||
|
||||
// ui rects... calced by Calc
|
||||
RECT m_rectLineUp;
|
||||
RECT m_rectPageUp;
|
||||
RECT m_rectTrack;
|
||||
RECT m_rectThumb;
|
||||
RECT m_rectPageDown;
|
||||
RECT m_rectLineDown;
|
||||
|
||||
BOOL Calc();
|
||||
BOOL FailCalc(BOOL);
|
||||
BOOL m_bValid; // true only when we have been created and hav valid values
|
||||
// and calc has been called and returned successfully.
|
||||
|
||||
void InternalPaint(HDC hDC);
|
||||
|
||||
POINT m_point, m_startpoint;
|
||||
int m_nThumbPos, m_nPreDragPos;
|
||||
int m_code;
|
||||
int m_startcode;
|
||||
BOOL m_bCapture;
|
||||
BOOL m_bDragging;
|
||||
|
||||
int HitTest(POINT point);
|
||||
void Notify(int code);
|
||||
|
||||
int GetLineAdjust();
|
||||
int GetPageAdjust();
|
||||
};
|
||||
|
||||
|
||||
CFlexScrollBar *CreateFlexScrollBar(FLEXSCROLLBARCREATESTRUCT *pcs);
|
||||
|
||||
|
||||
#endif //__FLEXSCROLLBAR_H__
|
||||
Reference in New Issue
Block a user