2
0
mirror of https://github.com/FWGS/hlsdk-xash3d synced 2024-11-25 11:19:39 +01:00
hlsdk-xash3d/game_shared/vgui_slider2.h

62 lines
1.8 KiB
C
Raw Normal View History

//========= Copyright (c) 1996-2002, Valve LLC, All rights reserved. ============
2016-06-04 15:24:23 +02:00
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#pragma once
#ifndef VGUI_SLIDER2_H
2021-06-20 00:53:07 +02:00
#define VGUI_SLIDER2_H
2016-06-04 15:24:23 +02:00
#include <VGUI.h>
#include <VGUI_Panel.h>
#include <VGUI_Dar.h>
2016-06-04 15:24:23 +02:00
namespace vgui
{
enum MouseCode;
class IntChangeSignal;
class VGUIAPI Slider2 : public Panel
{
bool _vertical;
bool _dragging;
int _nobPos[2];
int _nobDragStartPos[2];
int _dragStartPos[2];
Dar<IntChangeSignal*> _intChangeSignalDar;
int _range[2];
int _value;
int _rangeWindow;
bool _rangeWindowEnabled;
int _buttonOffset;
public:
Slider2( int x, int y, int wide, int tall, bool vertical );
virtual void setValue( int value );
2016-06-04 15:24:23 +02:00
virtual int getValue();
virtual bool isVertical();
virtual void addIntChangeSignal( IntChangeSignal *s );
virtual void setRange( int min, int max );
virtual void getRange( int &min, int &max );
virtual void setRangeWindow( int rangeWindow );
virtual void setRangeWindowEnabled( bool state );
virtual void setSize( int wide, int tall );
virtual void getNobPos( int &min, int &max );
2016-06-04 15:24:23 +02:00
virtual bool hasFullRange();
virtual void setButtonOffset( int buttonOffset );
2016-06-04 15:24:23 +02:00
private:
virtual void recomputeNobPosFromValue();
virtual void recomputeValueFromNobPos();
public: // bullshit public
virtual void privateCursorMoved( int x, int y, Panel *panel );
virtual void privateMousePressed( MouseCode code, Panel *panel );
virtual void privateMouseReleased( MouseCode code, Panel *panel );
2016-06-04 15:24:23 +02:00
protected:
virtual void fireIntChangeSignal();
2016-06-04 15:24:23 +02:00
virtual void paintBackground();
};
}
2016-06-04 15:24:23 +02:00
#endif // VGUI_SLIDER2_H