2
0
mirror of https://github.com/FWGS/hlsdk-xash3d synced 2024-11-22 09:57:21 +01:00
hlsdk-xash3d/game_shared/vgui_scrollbar2.h
Roman Chistokhodov ba2cab60df
Get VGUI back (optionally) (#194)
* Get VGUI back (optionally)

* Add some missing VGUI invocations

* Update CMakeLists.txt to build with vgui for Windows

* Move windows.h inclusions only to those places where it's really needed

* Try fix mingw build

* Update hud_spectator

* Merge nekonomicon's vgui branch

* Don't include vgui panel and app in cdll_int.cpp if vgui is real

* Deduplicate scoreboard global variables

* Add options to prefer non-vgui motd and scoreboard when vgui is enabled

* Add vgui-dev as a submodule. Add building vith vgui to CI

* Fix artifact uploading

* Don't use global variable when not necessary

* char* to const char* in CMenuHandler_StringCommand constructor

* Fix 'format string is not a literal string' warnings

* Fix 'always evaluate to true' warnings

* Team Fortress classes to const char*

* CreateCommandMenu accepts const char*

* Fix printf formats. Turn some unsigned longs into unsigned ints since they use only 32 bits anyway

* Explicit assignment result as condition

* Prevent memory leak on menu reading

* Localize button text

* Create FileInputStream on stack avoiding the leak

* Remove Servers Browser code

* Arrow file names to const char*

* Fix assignment to the wrong variable
2021-10-27 01:35:11 +00:00

58 lines
1.6 KiB
C++

//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#pragma once
#ifndef VGUI_SCROLLBAR2_H
#define VGUI_SCROLLBAR2_H
#include <VGUI.h>
#include <VGUI_Panel.h>
#include <VGUI_Dar.h>
namespace vgui
{
class IntChangeSignal;
class Button;
class Slider2;
//-----------------------------------------------------------------------------
// Purpose: Hacked up version of the vgui scrollbar
//-----------------------------------------------------------------------------
class VGUIAPI ScrollBar2 : public Panel
{
public:
ScrollBar2( int x, int y, int wide, int tall, bool vertical );
virtual void setValue( int value );
virtual int getValue();
virtual void addIntChangeSignal( IntChangeSignal *s );
virtual void setRange(int min, int max );
virtual void setRangeWindow( int rangeWindow );
virtual void setRangeWindowEnabled( bool state );
virtual void setSize( int wide, int tall );
virtual bool isVertical();
virtual bool hasFullRange();
virtual void setButton( Button *button,int index );
virtual Button *getButton( int index );
virtual void setSlider( Slider2 *slider );
virtual Slider2 *getSlider();
virtual void doButtonPressed( int buttonIndex );
virtual void setButtonPressedScrollValue( int value );
virtual void validate();
// bullshit public
virtual void fireIntChangeSignal();
protected:
virtual void performLayout();
Button *_button[2];
Slider2 *_slider;
Dar<IntChangeSignal*> _intChangeSignalDar;
int _buttonPressedScrollValue;
};
}
#endif // VGUI_SCROLLBAR2_H