From a3150e6d610dcd581af2736d9e6a849a1480eae5 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Tue, 1 Sep 2020 14:15:06 +0300 Subject: [PATCH] vgui: remove old HLSDK 2.3 vgui --- utils/vgui/include/VGUI.h | 107 ---------- utils/vgui/include/VGUI_ActionSignal.h | 84 -------- utils/vgui/include/VGUI_App.h | 132 ------------ utils/vgui/include/VGUI_Bitmap.h | 37 ---- utils/vgui/include/VGUI_BitmapTGA.h | 29 --- utils/vgui/include/VGUI_Border.h | 45 ---- utils/vgui/include/VGUI_BorderLayout.h | 46 ---- utils/vgui/include/VGUI_BorderPair.h | 33 --- utils/vgui/include/VGUI_BuildGroup.h | 67 ------ utils/vgui/include/VGUI_Button.h | 61 ------ utils/vgui/include/VGUI_ButtonController.h | 27 --- utils/vgui/include/VGUI_ButtonGroup.h | 30 --- utils/vgui/include/VGUI_ChangeSignal.h | 26 --- utils/vgui/include/VGUI_CheckButton.h | 28 --- utils/vgui/include/VGUI_Color.h | 44 ---- utils/vgui/include/VGUI_ComboKey.h | 34 --- utils/vgui/include/VGUI_ConfigWizard.h | 40 ---- utils/vgui/include/VGUI_Cursor.h | 57 ----- utils/vgui/include/VGUI_Dar.h | 193 ----------------- utils/vgui/include/VGUI_DataInputStream.h | 49 ----- utils/vgui/include/VGUI_Desktop.h | 42 ---- utils/vgui/include/VGUI_DesktopIcon.h | 41 ---- utils/vgui/include/VGUI_EditPanel.h | 65 ------ utils/vgui/include/VGUI_EtchedBorder.h | 29 --- utils/vgui/include/VGUI_FileInputStream.h | 38 ---- utils/vgui/include/VGUI_FlowLayout.h | 29 --- utils/vgui/include/VGUI_FocusChangeSignal.h | 26 --- utils/vgui/include/VGUI_FocusNavGroup.h | 35 --- utils/vgui/include/VGUI_Font.h | 48 ----- utils/vgui/include/VGUI_Frame.h | 73 ------- utils/vgui/include/VGUI_FrameSignal.h | 27 --- utils/vgui/include/VGUI_GridLayout.h | 30 --- utils/vgui/include/VGUI_HeaderPanel.h | 65 ------ utils/vgui/include/VGUI_Image.h | 62 ------ utils/vgui/include/VGUI_ImagePanel.h | 38 ---- utils/vgui/include/VGUI_InputSignal.h | 39 ---- utils/vgui/include/VGUI_InputStream.h | 30 --- utils/vgui/include/VGUI_IntChangeSignal.h | 26 --- utils/vgui/include/VGUI_IntLabel.h | 35 --- utils/vgui/include/VGUI_KeyCode.h | 126 ----------- utils/vgui/include/VGUI_Label.h | 80 ------- utils/vgui/include/VGUI_Layout.h | 31 --- utils/vgui/include/VGUI_LayoutInfo.h | 21 -- utils/vgui/include/VGUI_LineBorder.h | 39 ---- utils/vgui/include/VGUI_ListPanel.h | 40 ---- utils/vgui/include/VGUI_LoweredBorder.h | 29 --- utils/vgui/include/VGUI_Menu.h | 30 --- utils/vgui/include/VGUI_MenuItem.h | 30 --- utils/vgui/include/VGUI_MenuSeparator.h | 27 --- utils/vgui/include/VGUI_MessageBox.h | 53 ----- utils/vgui/include/VGUI_MiniApp.h | 33 --- utils/vgui/include/VGUI_MouseCode.h | 24 --- utils/vgui/include/VGUI_Panel.h | 224 -------------------- utils/vgui/include/VGUI_PopupMenu.h | 30 --- utils/vgui/include/VGUI_ProgressBar.h | 33 --- utils/vgui/include/VGUI_RadioButton.h | 29 --- utils/vgui/include/VGUI_RaisedBorder.h | 29 --- utils/vgui/include/VGUI_RepaintSignal.h | 25 --- utils/vgui/include/VGUI_Scheme.h | 82 ------- utils/vgui/include/VGUI_ScrollBar.h | 56 ----- utils/vgui/include/VGUI_ScrollPanel.h | 55 ----- utils/vgui/include/VGUI_Slider.h | 69 ------ utils/vgui/include/VGUI_StackLayout.h | 30 --- utils/vgui/include/VGUI_String.h | 61 ------ utils/vgui/include/VGUI_Surface.h | 67 ------ utils/vgui/include/VGUI_SurfaceBase.h | 81 ------- utils/vgui/include/VGUI_SurfaceGL.h | 98 --------- utils/vgui/include/VGUI_TabPanel.h | 49 ----- utils/vgui/include/VGUI_TablePanel.h | 71 ------- utils/vgui/include/VGUI_TaskBar.h | 37 ---- utils/vgui/include/VGUI_TextEntry.h | 80 ------- utils/vgui/include/VGUI_TextGrid.h | 42 ---- utils/vgui/include/VGUI_TextImage.h | 58 ----- utils/vgui/include/VGUI_TextPanel.h | 46 ---- utils/vgui/include/VGUI_TickSignal.h | 22 -- utils/vgui/include/VGUI_ToggleButton.h | 26 --- utils/vgui/include/VGUI_TreeFolder.h | 36 ---- utils/vgui/include/VGUI_WizardPanel.h | 146 ------------- utils/vgui/lib/win32_vc6/vgui.lib | Bin 416680 -> 0 bytes 79 files changed, 4092 deletions(-) delete mode 100644 utils/vgui/include/VGUI.h delete mode 100644 utils/vgui/include/VGUI_ActionSignal.h delete mode 100644 utils/vgui/include/VGUI_App.h delete mode 100644 utils/vgui/include/VGUI_Bitmap.h delete mode 100644 utils/vgui/include/VGUI_BitmapTGA.h delete mode 100644 utils/vgui/include/VGUI_Border.h delete mode 100644 utils/vgui/include/VGUI_BorderLayout.h delete mode 100644 utils/vgui/include/VGUI_BorderPair.h delete mode 100644 utils/vgui/include/VGUI_BuildGroup.h delete mode 100644 utils/vgui/include/VGUI_Button.h delete mode 100644 utils/vgui/include/VGUI_ButtonController.h delete mode 100644 utils/vgui/include/VGUI_ButtonGroup.h delete mode 100644 utils/vgui/include/VGUI_ChangeSignal.h delete mode 100644 utils/vgui/include/VGUI_CheckButton.h delete mode 100644 utils/vgui/include/VGUI_Color.h delete mode 100644 utils/vgui/include/VGUI_ComboKey.h delete mode 100644 utils/vgui/include/VGUI_ConfigWizard.h delete mode 100644 utils/vgui/include/VGUI_Cursor.h delete mode 100644 utils/vgui/include/VGUI_Dar.h delete mode 100644 utils/vgui/include/VGUI_DataInputStream.h delete mode 100644 utils/vgui/include/VGUI_Desktop.h delete mode 100644 utils/vgui/include/VGUI_DesktopIcon.h delete mode 100644 utils/vgui/include/VGUI_EditPanel.h delete mode 100644 utils/vgui/include/VGUI_EtchedBorder.h delete mode 100644 utils/vgui/include/VGUI_FileInputStream.h delete mode 100644 utils/vgui/include/VGUI_FlowLayout.h delete mode 100644 utils/vgui/include/VGUI_FocusChangeSignal.h delete mode 100644 utils/vgui/include/VGUI_FocusNavGroup.h delete mode 100644 utils/vgui/include/VGUI_Font.h delete mode 100644 utils/vgui/include/VGUI_Frame.h delete mode 100644 utils/vgui/include/VGUI_FrameSignal.h delete mode 100644 utils/vgui/include/VGUI_GridLayout.h delete mode 100644 utils/vgui/include/VGUI_HeaderPanel.h delete mode 100644 utils/vgui/include/VGUI_Image.h delete mode 100644 utils/vgui/include/VGUI_ImagePanel.h delete mode 100644 utils/vgui/include/VGUI_InputSignal.h delete mode 100644 utils/vgui/include/VGUI_InputStream.h delete mode 100644 utils/vgui/include/VGUI_IntChangeSignal.h delete mode 100644 utils/vgui/include/VGUI_IntLabel.h delete mode 100644 utils/vgui/include/VGUI_KeyCode.h delete mode 100644 utils/vgui/include/VGUI_Label.h delete mode 100644 utils/vgui/include/VGUI_Layout.h delete mode 100644 utils/vgui/include/VGUI_LayoutInfo.h delete mode 100644 utils/vgui/include/VGUI_LineBorder.h delete mode 100644 utils/vgui/include/VGUI_ListPanel.h delete mode 100644 utils/vgui/include/VGUI_LoweredBorder.h delete mode 100644 utils/vgui/include/VGUI_Menu.h delete mode 100644 utils/vgui/include/VGUI_MenuItem.h delete mode 100644 utils/vgui/include/VGUI_MenuSeparator.h delete mode 100644 utils/vgui/include/VGUI_MessageBox.h delete mode 100644 utils/vgui/include/VGUI_MiniApp.h delete mode 100644 utils/vgui/include/VGUI_MouseCode.h delete mode 100644 utils/vgui/include/VGUI_Panel.h delete mode 100644 utils/vgui/include/VGUI_PopupMenu.h delete mode 100644 utils/vgui/include/VGUI_ProgressBar.h delete mode 100644 utils/vgui/include/VGUI_RadioButton.h delete mode 100644 utils/vgui/include/VGUI_RaisedBorder.h delete mode 100644 utils/vgui/include/VGUI_RepaintSignal.h delete mode 100644 utils/vgui/include/VGUI_Scheme.h delete mode 100644 utils/vgui/include/VGUI_ScrollBar.h delete mode 100644 utils/vgui/include/VGUI_ScrollPanel.h delete mode 100644 utils/vgui/include/VGUI_Slider.h delete mode 100644 utils/vgui/include/VGUI_StackLayout.h delete mode 100644 utils/vgui/include/VGUI_String.h delete mode 100644 utils/vgui/include/VGUI_Surface.h delete mode 100644 utils/vgui/include/VGUI_SurfaceBase.h delete mode 100644 utils/vgui/include/VGUI_SurfaceGL.h delete mode 100644 utils/vgui/include/VGUI_TabPanel.h delete mode 100644 utils/vgui/include/VGUI_TablePanel.h delete mode 100644 utils/vgui/include/VGUI_TaskBar.h delete mode 100644 utils/vgui/include/VGUI_TextEntry.h delete mode 100644 utils/vgui/include/VGUI_TextGrid.h delete mode 100644 utils/vgui/include/VGUI_TextImage.h delete mode 100644 utils/vgui/include/VGUI_TextPanel.h delete mode 100644 utils/vgui/include/VGUI_TickSignal.h delete mode 100644 utils/vgui/include/VGUI_ToggleButton.h delete mode 100644 utils/vgui/include/VGUI_TreeFolder.h delete mode 100644 utils/vgui/include/VGUI_WizardPanel.h delete mode 100644 utils/vgui/lib/win32_vc6/vgui.lib diff --git a/utils/vgui/include/VGUI.h b/utils/vgui/include/VGUI.h deleted file mode 100644 index 7ee2b92..0000000 --- a/utils/vgui/include/VGUI.h +++ /dev/null @@ -1,107 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_H -#define VGUI_H - -//If you are going to add stuff to the vgui core... -// -//Keep it simple. -// -//Never put code in a header. -// -//The name of the class is the name of the the file -// -//Each class gets its own .cpp file for its definition and a .h for its header. Helper -//classes can be used but only within the .cpp and not referenceable from anywhere else. -// -//Don't add unneeded files. Keep the API clean. -// -//No platform specific code in vgui\lib-src\vgui dir. Code in vgui\lib-src\vgui should -//only include from vgui\include or standard C includes. ie, if I see windows.h included -//anywhere but vgui\lib-src\win32 I will hunt you down and kill you. Don't give me any crap -//that mfc is platform inspecific. -// -//Always use <> and not "" for includes -// -//Use minimum dependencies in headers. Don't include another header if you can get away -//with forward declaring (which is usually the case) -// -//No macros in headers. They are tools of satan. This also means no use of DEFINEs, use enum -// -//Minimize global functions -// -//No global variables. -// -//Panel is getting pretty plump, try and avoid adding junk to it if you can - -//TODO: Look and Feel support -// add Panel::setPaintProxy, if _paintProxy exists, it calls _paintProxy->paint -// instead of Panel::paint. Components should implement their painting in a seperate -// plugin class. Perhaps to encourage this, Panel::paint should just go away completely -// The other option is to have Panel have the interface Paintable -// class Paintable -// { -// public: -// virtual void paint()=0; -// }; -// Then a component can implement its paint in the class itself and then call -// setPaintProxy(this). If this is the case _paintProxy->paint should always be called -// and never Panel::paint from within paintTraverse -//TODO: Figure out the 'Valve' Look and Feel and implement that instead of a the Java one -//TODO: Determine ownership policy for Borders, Layouts, etc.. -//TODO: tooltips support -//TODO: ComboKey (hot key support) -//TODO: add Background.cpp, remove paintBackground from all components -// Panel implements setBackground, Panel::paintBackground calls _background->paintBackground -// similiar to the way Border works. -//TODO: Builtin components should never overide paintBackground, only paint -//TODO: All protected members should be converted to private -//TODO: All member variables should be moved to the top of the class prototype -//TODO: All private methods should be prepended with private -//TODO: Use of word internal in method names is not consistent and confusing -//TODO: Cleanup so bullshit publics are properly named, maybe even figure out -// a naming convention for them -//TODO: Breakup InputSignal into logical pieces -//TODO: Button is in a state of disarray, it should have ButtonModel support -//TODO: get rid of all the stupid strdup laziness, convert to vgui_strdup -//TODO: actually figure out policy on String and implement it consistently -//TODO: implement createLayoutInfo for other Layouts than need it -//TODO: BorderLayout should have option for a null LayoutInfo defaulting to center -//TODO: SurfaceBase should go away, put it in Surface -//TODO: ActionSignals and other Signals should just set a flag when they fire. -// then App can come along later and fire all the signals -//TODO: Change all method naming to starting with a capital letter. - -#ifdef _WIN32 -# define VGUIAPI __declspec( dllexport ) -#else -# define VGUIAPI -#endif - -#define null 0L - -typedef unsigned char uchar; -typedef unsigned short ushort; -typedef unsigned int uint; -typedef unsigned long ulong; - -namespace vgui -{ - -VGUIAPI void vgui_setMalloc(void* (*malloc)(size_t size)); -VGUIAPI void vgui_setFree(void (*free)(void* memblock)); -VGUIAPI void vgui_strcpy(char* dst,int dstLen,const char* src); -VGUIAPI char* vgui_strdup(const char* src); -VGUIAPI int vgui_printf(const char* format,...); -VGUIAPI int vgui_dprintf(const char* format,...); -VGUIAPI int vgui_dprintf2(const char* format,...); - -} - -#endif - diff --git a/utils/vgui/include/VGUI_ActionSignal.h b/utils/vgui/include/VGUI_ActionSignal.h deleted file mode 100644 index 2438a62..0000000 --- a/utils/vgui/include/VGUI_ActionSignal.h +++ /dev/null @@ -1,84 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_ACTIONSIGNAL_H -#define VGUI_ACTIONSIGNAL_H - -#include - -/* - -TODO: maybe try something like this.. - -class VGUIAPI ActionSignal -{ -}; - -class VGUIAPI ActionSignalSimple : public ActionSignal -{ -public: - virtual void actionPerformed(Panel* panel)=0; -}; - -class VGUIAPI ActionSignalInt : public ActionSignal -{ -public: - virtual void actionPerformed(int value,Panel* panel)=0; -}; - - -DefaultButtonModel would implement: - -virtual void addActionSignal(ActionSignal* s) -{ - if(s!=null) - { - _actionSignalDar.putElement(s); - } -} - -virtual void fireActionSignal() -{ - for(int i=0;i<_actionSignalDar.getCount();i++) - { - ActionSignal* signal=_actionSignalDar[i]; - - ActionSignalSimple* ss=dynamic_cast(signal); - if(ss!=null) - { - ss->actionPerformed(this); - } - - ActionSignalCommand* si=dynamic_cast(signal); - if(si!=null) - { - si->actionPerformed(_intValue,this); - } - } -} - - -*/ - -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI ActionSignal -{ -public: - virtual void actionPerformed(Panel* panel)=0; -}; - -} - -#endif - - diff --git a/utils/vgui/include/VGUI_App.h b/utils/vgui/include/VGUI_App.h deleted file mode 100644 index d2b27e1..0000000 --- a/utils/vgui/include/VGUI_App.h +++ /dev/null @@ -1,132 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_APP_H -#define VGUI_APP_H - -#include -#include -#include -#include -#include - -namespace vgui -{ - -enum MouseCode; -enum KeyCode; -class Panel; -class TickSignal; -class Scheme; -class TickSignal; -class SurfaceBase; - -class VGUIAPI App -{ -public: - App(); - App(bool externalMain); -public: - static App* getInstance(); - //TODO: the public and public bullshit are all messed up, need to organize - //TODO: actually all of the access needs to be properly thought out while you are at it -public: - virtual void start(); - virtual void stop(); - virtual void externalTick(); - virtual bool wasMousePressed(MouseCode code,Panel* panel); - virtual bool wasMouseDoublePressed(MouseCode code,Panel* panel); - virtual bool isMouseDown(MouseCode code,Panel* panel); - virtual bool wasMouseReleased(MouseCode code,Panel* panel); - virtual bool wasKeyPressed(KeyCode code,Panel* panel); - virtual bool isKeyDown(KeyCode code,Panel* panel); - virtual bool wasKeyTyped(KeyCode code,Panel* panel); - virtual bool wasKeyReleased(KeyCode code,Panel* panel); - virtual void addTickSignal(TickSignal* s); - virtual void setCursorPos(int x,int y); - virtual void getCursorPos(int& x,int& y); - virtual void setMouseCapture(Panel* panel); - virtual void setMouseArena(int x0,int y0,int x1,int y1,bool enabled); - virtual void setMouseArena(Panel* panel); - virtual void requestFocus(Panel* panel); - virtual Panel* getFocus(); - virtual void repaintAll(); - virtual void setScheme(Scheme* scheme); - virtual Scheme* getScheme(); - virtual void enableBuildMode(); - virtual long getTimeMillis(); - virtual char getKeyCodeChar(KeyCode code,bool shifted); - virtual void getKeyCodeText(KeyCode code,char* buf,int buflen); - virtual int getClipboardTextCount(); - virtual void setClipboardText(const char* text,int textLen); - virtual int getClipboardText(int offset,char* buf,int bufLen); - virtual void reset(); - virtual void internalSetMouseArena(int x0,int y0,int x1,int y1,bool enabled); - virtual bool setRegistryString(const char* key,const char* value); - virtual bool getRegistryString(const char* key,char* value,int valueLen); - virtual bool setRegistryInteger(const char* key,int value); - virtual bool getRegistryInteger(const char* key,int& value); - virtual void setCursorOveride(Cursor* cursor); - virtual Cursor* getCursorOveride(); - virtual void setMinimumTickMillisInterval(int interval); -public: //bullshit public stuff - virtual void main(int argc,char* argv[])=0; - virtual void run(); - virtual void internalCursorMoved(int x,int y,SurfaceBase* surfaceBase); //expects input in surface space - virtual void internalMousePressed(MouseCode code,SurfaceBase* surfaceBase); - virtual void internalMouseDoublePressed(MouseCode code,SurfaceBase* surfaceBase); - virtual void internalMouseReleased(MouseCode code,SurfaceBase* surfaceBase); - virtual void internalMouseWheeled(int delta,SurfaceBase* surfaceBase); - virtual void internalKeyPressed(KeyCode code,SurfaceBase* surfaceBase); - virtual void internalKeyTyped(KeyCode code,SurfaceBase* surfaceBase); - virtual void internalKeyReleased(KeyCode code,SurfaceBase* surfaceBase); -private: - virtual void init(); - virtual void updateMouseFocus(int x,int y,SurfaceBase* surfaceBase); - virtual void setMouseFocus(Panel* newMouseFocus); -protected: - virtual void surfaceBaseCreated(SurfaceBase* surfaceBase); - virtual void surfaceBaseDeleted(SurfaceBase* surfaceBase); - virtual void platTick(); - virtual void internalTick(); -protected: - static App* _instance; -protected: - bool _running; - bool _externalMain; - Dar _surfaceBaseDar; - Panel* _keyFocus; - Panel* _oldMouseFocus; - Panel* _mouseFocus; - Panel* _mouseCapture; - Panel* _wantedKeyFocus; - bool _mousePressed[MOUSE_LAST]; - bool _mouseDoublePressed[MOUSE_LAST]; - bool _mouseDown[MOUSE_LAST]; - bool _mouseReleased[MOUSE_LAST]; - bool _keyPressed[KEY_LAST]; - bool _keyTyped[KEY_LAST]; - bool _keyDown[KEY_LAST]; - bool _keyReleased[KEY_LAST]; - Dar _tickSignalDar; - Scheme* _scheme; - bool _buildMode; - bool _wantedBuildMode; - Panel* _mouseArenaPanel; - Cursor* _cursor[Cursor::DefaultCursor::dc_last]; - Cursor* _cursorOveride; -private: - long _nextTickMillis; - long _minimumTickMillisInterval; - friend class SurfaceBase; -}; -} - -#endif - - - diff --git a/utils/vgui/include/VGUI_Bitmap.h b/utils/vgui/include/VGUI_Bitmap.h deleted file mode 100644 index 1a16ce3..0000000 --- a/utils/vgui/include/VGUI_Bitmap.h +++ /dev/null @@ -1,37 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BITMAP_H -#define VGUI_BITMAP_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI Bitmap : public Image -{ -private: - int _id; - bool _uploaded; -public: - Bitmap(); -protected: - virtual void setSize(int wide,int tall); - virtual void setRGBA(int x,int y,uchar r,uchar g,uchar b,uchar a); -public: - virtual void paint(Panel* panel); -protected: - uchar* _rgba; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_BitmapTGA.h b/utils/vgui/include/VGUI_BitmapTGA.h deleted file mode 100644 index cfc1608..0000000 --- a/utils/vgui/include/VGUI_BitmapTGA.h +++ /dev/null @@ -1,29 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BITMAPTGA_H -#define VGUI_BITMAPTGA_H - -#include - -namespace vgui -{ - -class Panel; -class InputStream; - -class VGUIAPI BitmapTGA : public Bitmap -{ -public: - BitmapTGA(InputStream* is,bool invertAlpha); -private: - virtual bool loadTGA(InputStream* is,bool invertAlpha); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Border.h b/utils/vgui/include/VGUI_Border.h deleted file mode 100644 index 8e038eb..0000000 --- a/utils/vgui/include/VGUI_Border.h +++ /dev/null @@ -1,45 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BORDER_H -#define VGUI_BORDER_H - -#include -#include - -//TODO: all borders should be titled - -namespace vgui -{ - -class Panel; - -class VGUIAPI Border : public Image -{ -public: - Border(); - Border(int left,int top,int right,int bottom); -public: - virtual void setInset(int left,int top,int right,int bottom); - virtual void getInset(int& left,int& top,int& right,int& bottom); -protected: - virtual void drawFilledRect(int x0,int y0,int x1,int y1); - virtual void drawOutlinedRect(int x0,int y0,int x1,int y1); - virtual void drawSetTextPos(int x,int y); - virtual void drawPrintText(int x,int y,const char* str,int strlen); - virtual void drawPrintChar(int x,int y,char ch); -protected: - int _inset[4]; -private: - Panel* _panel; -friend class Panel; -friend class BorderPair; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_BorderLayout.h b/utils/vgui/include/VGUI_BorderLayout.h deleted file mode 100644 index b6dedf5..0000000 --- a/utils/vgui/include/VGUI_BorderLayout.h +++ /dev/null @@ -1,46 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BORDERLAYOUT_H -#define VGUI_BORDERLAYOUT_H - -#include -#include - -namespace vgui -{ - -class LayoutInfo; - -class VGUIAPI BorderLayout : public Layout -{ -public: - enum Alignment - { - a_center=0, - a_north, - a_south, - a_east, - a_west, - }; -private: - int _inset; -public: - BorderLayout(int inset); -public: - virtual void performLayout(Panel* panel); - virtual LayoutInfo* createLayoutInfo(Alignment alignment); -}; - -} - -#endif - - - - - diff --git a/utils/vgui/include/VGUI_BorderPair.h b/utils/vgui/include/VGUI_BorderPair.h deleted file mode 100644 index e4af92b..0000000 --- a/utils/vgui/include/VGUI_BorderPair.h +++ /dev/null @@ -1,33 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BORDERPAIR_H -#define VGUI_BORDERPAIR_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI BorderPair : public Border -{ -public: - BorderPair(Border* border0,Border* border1); -public: - virtual void doPaint(Panel* panel); -protected: - virtual void paint(Panel* panel); -protected: - Border* _border[2]; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_BuildGroup.h b/utils/vgui/include/VGUI_BuildGroup.h deleted file mode 100644 index 0373f8d..0000000 --- a/utils/vgui/include/VGUI_BuildGroup.h +++ /dev/null @@ -1,67 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BUILDGROUP_H -#define VGUI_BUILDGROUP_H - -#include -#include - - -namespace vgui -{ - -enum KeyCode; -enum MouseCode; -class Panel; -class Cursor; -class ChangeSignal; - -class VGUIAPI BuildGroup -{ -private: - bool _enabled; - int _snapX; - int _snapY; - Cursor* _cursor_sizenwse; - Cursor* _cursor_sizenesw; - Cursor* _cursor_sizewe; - Cursor* _cursor_sizens; - Cursor* _cursor_sizeall; - bool _dragging; - MouseCode _dragMouseCode; - int _dragStartPanelPos[2]; - int _dragStartCursorPos[2]; - Panel* _currentPanel; - Dar _currentPanelChangeSignalDar; - Dar _panelDar; - Dar _panelNameDar; -public: - BuildGroup(); -public: - virtual void setEnabled(bool state); - virtual bool isEnabled(); - virtual void addCurrentPanelChangeSignal(ChangeSignal* s); - virtual Panel* getCurrentPanel(); - virtual void copyPropertiesToClipboard(); -private: - virtual void applySnap(Panel* panel); - virtual void fireCurrentPanelChangeSignal(); -protected: - friend class Panel; - virtual void panelAdded(Panel* panel,const char* panelName); - virtual void cursorMoved(int x,int y,Panel* panel); - virtual void mousePressed(MouseCode code,Panel* panel); - virtual void mouseReleased(MouseCode code,Panel* panel); - virtual void mouseDoublePressed(MouseCode code,Panel* panel); - virtual void keyTyped(KeyCode code,Panel* panel); - virtual Cursor* getCursor(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Button.h b/utils/vgui/include/VGUI_Button.h deleted file mode 100644 index ec068b4..0000000 --- a/utils/vgui/include/VGUI_Button.h +++ /dev/null @@ -1,61 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BUTTON_H -#define VGUI_BUTTON_H - -#include -#include -#include - -namespace vgui -{ - -enum MouseCode; -class ButtonController; -class ButtonGroup; -class ActionSignal; - -//TODO: Button should be derived from an AbstractButton -class VGUIAPI Button : public Label -{ -public: - Button(const char* text,int x,int y,int wide,int tall); - Button(const char* text,int x,int y); -private: - void init(); -public: - virtual void setSelected(bool state); - virtual void setSelectedDirect(bool state); - virtual void setArmed(bool state); - virtual bool isSelected(); - virtual void doClick(); - virtual void addActionSignal(ActionSignal* s); - virtual void setButtonGroup(ButtonGroup* buttonGroup); - virtual bool isArmed(); - virtual void setButtonBorderEnabled(bool state); - virtual void setMouseClickEnabled(MouseCode code,bool state); - virtual bool isMouseClickEnabled(MouseCode code); - virtual void fireActionSignal(); - virtual Panel* createPropertyPanel(); -protected: - virtual void setButtonController(ButtonController* _buttonController); - virtual void paintBackground(); -protected: - char* _text; - bool _armed; - bool _selected; - bool _buttonBorderEnabled; - Dar _actionSignalDar; - int _mouseClickMask; - ButtonGroup* _buttonGroup; - ButtonController* _buttonController; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ButtonController.h b/utils/vgui/include/VGUI_ButtonController.h deleted file mode 100644 index 30b97af..0000000 --- a/utils/vgui/include/VGUI_ButtonController.h +++ /dev/null @@ -1,27 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BUTTONCONTROLLER_H -#define VGUI_BUTTONCONTROLLER_H - -#include - -namespace vgui -{ - -class Button; - -class VGUIAPI ButtonController -{ -public: - virtual void addSignals(Button* button)=0; - virtual void removeSignals(Button* button)=0; -}; - -} - -#endif diff --git a/utils/vgui/include/VGUI_ButtonGroup.h b/utils/vgui/include/VGUI_ButtonGroup.h deleted file mode 100644 index 237331d..0000000 --- a/utils/vgui/include/VGUI_ButtonGroup.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_BUTTONGROUP_H -#define VGUI_BUTTONGROUP_H - -#include -#include - -namespace vgui -{ - -class Button; - -class VGUIAPI ButtonGroup -{ -public: - virtual void addButton(Button* button); - virtual void setSelected(Button* button); -protected: - Dar _buttonDar; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ChangeSignal.h b/utils/vgui/include/VGUI_ChangeSignal.h deleted file mode 100644 index 46590a8..0000000 --- a/utils/vgui/include/VGUI_ChangeSignal.h +++ /dev/null @@ -1,26 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_CHANGESIGNAL_H -#define VGUI_CHANGESIGNAL_H - -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI ChangeSignal -{ -public: - virtual void valueChanged(Panel* panel)=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_CheckButton.h b/utils/vgui/include/VGUI_CheckButton.h deleted file mode 100644 index 085f0e5..0000000 --- a/utils/vgui/include/VGUI_CheckButton.h +++ /dev/null @@ -1,28 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_CHECKBUTTON_H -#define VGUI_CHECKBUTTON_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI CheckButton : public ToggleButton -{ -public: - CheckButton(const char* text,int x,int y,int wide,int tall); - CheckButton(const char* text,int x,int y); -protected: - virtual void paintBackground(); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Color.h b/utils/vgui/include/VGUI_Color.h deleted file mode 100644 index 7cecf5d..0000000 --- a/utils/vgui/include/VGUI_Color.h +++ /dev/null @@ -1,44 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_COLOR_H -#define VGUI_COLOR_H - -#include -#include - -//TODO: rename getColor(r,g,b,a) to getRGBA(r,g,b,a) -//TODO: rename setColor(r,g,b,a) to setRGBA(r,g,b,a) -//TODO: rename getColor(sc) to getSchemeColor(sc) -//TODO: rename setColor(sc) to setSchemeColor(sc) - -namespace vgui -{ - -class VGUIAPI Color -{ -private: - uchar _color[4]; - Scheme::SchemeColor _schemeColor; -public: - Color(); - Color(int r,int g,int b,int a); - Color(Scheme::SchemeColor sc); -private: - virtual void init(); -public: - virtual void setColor(int r,int g,int b,int a); - virtual void setColor(Scheme::SchemeColor sc); - virtual void getColor(int& r,int& g,int& b,int& a); - virtual void getColor(Scheme::SchemeColor& sc); - virtual int operator[](int index); -}; - -} - - -#endif diff --git a/utils/vgui/include/VGUI_ComboKey.h b/utils/vgui/include/VGUI_ComboKey.h deleted file mode 100644 index 351294b..0000000 --- a/utils/vgui/include/VGUI_ComboKey.h +++ /dev/null @@ -1,34 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_COMBOKEY_H -#define VGUI_COMBOKEY_H - -#include - -namespace vgui -{ - -enum KeyCode; - -class ComboKey -{ -public: - ComboKey(KeyCode code,KeyCode modifier); -public: - bool isTwoCombo(KeyCode code,KeyCode modifier); -protected: - bool check(KeyCode code); -protected: - KeyCode _keyCode[2]; -friend class Panel; -}; - -} - - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ConfigWizard.h b/utils/vgui/include/VGUI_ConfigWizard.h deleted file mode 100644 index c12b1e3..0000000 --- a/utils/vgui/include/VGUI_ConfigWizard.h +++ /dev/null @@ -1,40 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_CONFIGWIZARD_H -#define VGUI_CONFIGWIZARD_H - -#include -#include - -namespace vgui -{ - -class TreeFolder; -class Panel; -class Button; - -class VGUIAPI ConfigWizard : public Panel -{ -public: - ConfigWizard(int x,int y,int wide,int tall); -public: - virtual void setSize(int wide,int tall); - virtual Panel* getClient(); - virtual TreeFolder* getFolder(); -protected: - TreeFolder* _treeFolder; - Panel* _client; - Button* _okButton; - Button* _cancelButton; - Button* _applyButton; - Button* _helpButton; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Cursor.h b/utils/vgui/include/VGUI_Cursor.h deleted file mode 100644 index 86080c0..0000000 --- a/utils/vgui/include/VGUI_Cursor.h +++ /dev/null @@ -1,57 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_CURSOR_H -#define VGUI_CURSOR_H - -#include - -namespace vgui -{ - -class Bitmap; - -class VGUIAPI Cursor -{ -public: - enum DefaultCursor - { - dc_user, - dc_none, - dc_arrow, - dc_ibeam, - dc_hourglass, - dc_crosshair, - dc_up, - dc_sizenwse, - dc_sizenesw, - dc_sizewe, - dc_sizens, - dc_sizeall, - dc_no, - dc_hand, - dc_last, - }; -private: - int _hotspot[2]; - Bitmap* _bitmap; - DefaultCursor _dc; -public: - Cursor(DefaultCursor dc); - Cursor(Bitmap* bitmap,int hotspotX,int hotspotY); -public: - virtual void getHotspot(int& x,int& y); -private: - virtual void privateInit(Bitmap* bitmap,int hotspotX,int hotspotY); -public: - virtual Bitmap* getBitmap(); - virtual DefaultCursor getDefaultCursor(); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Dar.h b/utils/vgui/include/VGUI_Dar.h deleted file mode 100644 index 4fa0bca..0000000 --- a/utils/vgui/include/VGUI_Dar.h +++ /dev/null @@ -1,193 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_DAR_H -#define VGUI_DAR_H - -#include -#include -#include - - - -namespace vgui -{ - -//Simple lightweight dynamic array implementation -template class VGUIAPI Dar -{ -public: - Dar() - { - _count=0; - _capacity=0; - _data=null; - ensureCapacity(4); - } - Dar(int initialCapacity) - { - _count=0; - _capacity=0; - _data=null; - ensureCapacity(initialCapacity); - } -public: - void ensureCapacity(int wantedCapacity) - { - if(wantedCapacity<=_capacity){return;} - - //double capacity until it is >= wantedCapacity - //this could be done with math, but iterative is just so much more fun - int newCapacity=_capacity; - if(newCapacity==0){newCapacity=1;} - while(newCapacity_capacity)) - { - return; - } - _count=count; - } - int getCount() - { - return _count; - } - void addElement(ELEMTYPE elem) - { - ensureCapacity(_count+1); - _data[_count]=elem; - _count++; - } - bool hasElement(ELEMTYPE elem) - { - for(int i=0;i<_count;i++) - { - if(_data[i]==elem) - { - return true; - } - } - return false; - } - void putElement(ELEMTYPE elem) - { - if(hasElement(elem)) - { - return; - } - addElement(elem); - } - void insertElementAt(ELEMTYPE elem,int index) - { - if((index<0)||(index>_count)) - { - return; - } - if((index==_count)||(_count==0)) - { - addElement(elem); - } - else - { - addElement(elem); //just to make sure it is big enough - for(int i=_count-1;i>index;i--) - { - _data[i]=_data[i-1]; - } - _data[index]=elem; - } - } - void setElementAt(ELEMTYPE elem,int index) - { - if((index<0)||(index>=_count)) - { - return; - } - _data[index]=elem; - } - void removeElementAt(int index) - { - if((index<0)||(index>=_count)) - { - return; - } - - //slide everything to the right of index, left one. - for(int i=index;i<(_count-1);i++) - { - _data[i]=_data[i+1]; - } - _count--; - } - void removeElement(ELEMTYPE elem) - { - for(int i=0;i<_count;i++) - { - if(_data[i]==elem) - { - removeElementAt(i); - break; - } - } - } - void removeAll() - { - _count=0; - } - ELEMTYPE operator[](int index) - { - if((index<0)||(index>=_count)) - { - return null; - } - return _data[index]; - } -protected: - int _count; - int _capacity; - ELEMTYPE* _data; -}; - -//forward referencing all the template types used so they get exported -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar*>; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; -template class VGUIAPI Dar; - - -} - - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_DataInputStream.h b/utils/vgui/include/VGUI_DataInputStream.h deleted file mode 100644 index 53b2589..0000000 --- a/utils/vgui/include/VGUI_DataInputStream.h +++ /dev/null @@ -1,49 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_DATAINPUTSTREAM_H -#define VGUI_DATAINPUTSTREAM_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI DataInputStream : virtual public InputStream -{ -private: - InputStream* _is; -public: - DataInputStream(InputStream* is); -public: - virtual void seekStart(bool& success); - virtual void seekRelative(int count,bool& success); - virtual void seekEnd(bool& success); - virtual int getAvailable(bool& success); - //virtual uchar readUChar(bool& success); - virtual void readUChar(uchar* buf,int count,bool& success); - virtual void close(bool& success); - virtual void close(); -public: - virtual bool readBool(bool& success); - virtual char readChar(bool& success); - virtual uchar readUChar(bool& success); - virtual short readShort(bool& success); - virtual ushort readUShort(bool& success); - virtual int readInt(bool& success); - virtual uint readUInt(bool& success); - virtual long readLong(bool& success); - virtual ulong readULong(bool& success); - virtual float readFloat(bool& success); - virtual double readDouble(bool& success); - virtual void readLine(char* buf,int bufLen,bool& success); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Desktop.h b/utils/vgui/include/VGUI_Desktop.h deleted file mode 100644 index ffd82af..0000000 --- a/utils/vgui/include/VGUI_Desktop.h +++ /dev/null @@ -1,42 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_DESKTOP_H -#define VGUI_DESKTOP_H - -#include -#include -#include - -namespace vgui -{ - -class DesktopIcon; -class TaskBar; - -class VGUIAPI Desktop : public Panel -{ -public: - Desktop(int x,int y,int wide,int tall); -public: - virtual void setSize(int wide,int tall); - virtual void iconActivated(DesktopIcon* icon); - virtual void addIcon(DesktopIcon* icon); - virtual void arrangeIcons(); - virtual Panel* getBackground(); - virtual Panel* getForeground(); -protected: - Panel* _background; - Panel* _foreground; - TaskBar* _taskBar; - Dar _desktopIconDar; - int _cascade[2]; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_DesktopIcon.h b/utils/vgui/include/VGUI_DesktopIcon.h deleted file mode 100644 index 6c63838..0000000 --- a/utils/vgui/include/VGUI_DesktopIcon.h +++ /dev/null @@ -1,41 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_DESKTOPICON_H -#define VGUI_DESKTOPICON_H - -#include -#include - -namespace vgui -{ - -class MiniApp; -class Image; -class Desktop; - -class VGUIAPI DesktopIcon : public Panel -{ -public: - DesktopIcon(MiniApp* miniApp,Image* image); -public: - virtual void doActivate(); - virtual void setImage(Image* image); -public: //bullshit public - virtual void setDesktop(Desktop* desktop); - virtual MiniApp* getMiniApp(); -protected: - virtual void paintBackground(); -protected: - Desktop* _desktop; - MiniApp* _miniApp; - Image* _image; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_EditPanel.h b/utils/vgui/include/VGUI_EditPanel.h deleted file mode 100644 index ea26634..0000000 --- a/utils/vgui/include/VGUI_EditPanel.h +++ /dev/null @@ -1,65 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_EDITPANEL_H -#define VGUI_EDITPANEL_H - -#include -#include -#include - -namespace vgui -{ - -class Font; - -class VGUIAPI EditPanel : public Panel -{ -public: - EditPanel(int x,int y,int wide,int tall); -public: - virtual void doCursorUp(); - virtual void doCursorDown(); - virtual void doCursorLeft(); - virtual void doCursorRight(); - virtual void doCursorToStartOfLine(); - virtual void doCursorToEndOfLine(); - virtual void doCursorInsertChar(char ch); - virtual void doCursorBackspace(); - virtual void doCursorNewLine(); - virtual void doCursorDelete(); - virtual void doCursorPrintf(char* format,...); - virtual int getLineCount(); - virtual int getVisibleLineCount(); - virtual void setCursorBlink(bool state); - virtual void setFont(Font* font); - virtual void getText(int lineIndex, int offset,char* buf,int bufLen); - -public: //bullshit public - void getCursorBlink(bool& blink,int& nextBlinkTime); -protected: - virtual void paintBackground(); - virtual void paint(); - virtual void addLine(); - virtual Dar* getLine(int lineIndex); - virtual void setChar(Dar* lineDar,int x,char ch,char fill); - virtual void setChar(Dar* lineDar,int x,char ch); - virtual void shiftLineLeft(Dar* lineDar,int x,int count); - virtual void shiftLineRight(Dar* lineDar,int x,int count); -private: - virtual int spatialCharOffsetBetweenTwoLines(Dar* srcDar,Dar* dstDar,int x); -protected: - Dar*> _lineDarDar; - int _cursor[2]; - bool _cursorBlink; - int _cursorNextBlinkTime; - Font* _font; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_EtchedBorder.h b/utils/vgui/include/VGUI_EtchedBorder.h deleted file mode 100644 index 04184d3..0000000 --- a/utils/vgui/include/VGUI_EtchedBorder.h +++ /dev/null @@ -1,29 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_ETCHEDBORDER_H -#define VGUI_ETCHEDBORDER_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI EtchedBorder : public Border -{ -public: - EtchedBorder(); -protected: - virtual void paint(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_FileInputStream.h b/utils/vgui/include/VGUI_FileInputStream.h deleted file mode 100644 index f0b6f57..0000000 --- a/utils/vgui/include/VGUI_FileInputStream.h +++ /dev/null @@ -1,38 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FILEINPUTSTREAM_H -#define VGUI_FILEINPUTSTREAM_H - -//TODO : figure out how to get stdio out of here, I think std namespace is broken for FILE for forward declaring does not work in vc6 - -#include -#include - -namespace vgui -{ - -class VGUIAPI FileInputStream : public InputStream -{ -private: - FILE* _fp; -public: - FileInputStream(const char* fileName,bool textMode); -public: - virtual void seekStart(bool& success); - virtual void seekRelative(int count,bool& success); - virtual void seekEnd(bool& success); - virtual int getAvailable(bool& success); - virtual uchar readUChar(bool& success); - virtual void readUChar(uchar* buf,int count,bool& success); - virtual void close(bool& success); - virtual void close(); -}; - -} - -#endif diff --git a/utils/vgui/include/VGUI_FlowLayout.h b/utils/vgui/include/VGUI_FlowLayout.h deleted file mode 100644 index be47a93..0000000 --- a/utils/vgui/include/VGUI_FlowLayout.h +++ /dev/null @@ -1,29 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FLOWLAYOUT_H -#define VGUI_FLOWLAYOUT_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI FlowLayout : public Layout -{ -private: - int _hgap; -public: - FlowLayout(int hgap); -public: - virtual void performLayout(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_FocusChangeSignal.h b/utils/vgui/include/VGUI_FocusChangeSignal.h deleted file mode 100644 index 9b9476f..0000000 --- a/utils/vgui/include/VGUI_FocusChangeSignal.h +++ /dev/null @@ -1,26 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FOCUSCHANGESIGNAL_H -#define VGUI_FOCUSCHANGESIGNAL_H - -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI FocusChangeSignal -{ -public: - virtual void focusChanged(bool lost,Panel* panel)=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_FocusNavGroup.h b/utils/vgui/include/VGUI_FocusNavGroup.h deleted file mode 100644 index 76ec2e4..0000000 --- a/utils/vgui/include/VGUI_FocusNavGroup.h +++ /dev/null @@ -1,35 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FOCUSNAVGROUP_H -#define VGUI_FOCUSNAVGROUP_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI FocusNavGroup -{ -public: - FocusNavGroup(); -protected: - virtual void addPanel(Panel* panel); - virtual void requestFocusPrev(); - virtual void requestFocusNext(); - virtual void setCurrentPanel(Panel* panel); -protected: - Dar _panelDar; - int _currentIndex; -friend class Panel; -}; -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Font.h b/utils/vgui/include/VGUI_Font.h deleted file mode 100644 index 8db24f8..0000000 --- a/utils/vgui/include/VGUI_Font.h +++ /dev/null @@ -1,48 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FONT_H -#define VGUI_FONT_H - -#include - -namespace vgui -{ - -class BaseFontPlat; - -//TODO: cursors and fonts should work like gl binds -class VGUIAPI Font - { - public: - Font(const char* name,int tall,int wide,float rotation,int weight,bool italic,bool underline,bool strikeout,bool symbol); - // If pFileData is non-NULL, then it will try to load the 32-bit (RLE) TGA file. If that fails, - // it will create the font using the specified parameters. - // pUniqueName should be set if pFileData and fileDataLen are set so it can determine if a font is already loaded. - Font(const char* name,void *pFileData,int fileDataLen, int tall,int wide,float rotation,int weight,bool italic,bool underline,bool strikeout,bool symbol); - private: - virtual void init(const char* name,void *pFileData,int fileDataLen, int tall,int wide,float rotation,int weight,bool italic,bool underline,bool strikeout,bool symbol); - public: - BaseFontPlat* getPlat(); - virtual void getCharRGBA(int ch,int rgbaX,int rgbaY,int rgbaWide,int rgbaTall,uchar* rgba); - virtual void getCharABCwide(int ch,int& a,int& b,int& c); - virtual void getTextSize(const char* text,int& wide,int& tall); - virtual int getTall(); - virtual int getId(); - protected: - char* _name; - BaseFontPlat* _plat; - int _id; - friend class Surface; - }; - - -void Font_Reset(); - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Frame.h b/utils/vgui/include/VGUI_Frame.h deleted file mode 100644 index c77516c..0000000 --- a/utils/vgui/include/VGUI_Frame.h +++ /dev/null @@ -1,73 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FRAME_H -#define VGUI_FRAME_H - -#include -#include -#include - -namespace vgui -{ - -class Button; -class FrameSignal; - -class VGUIAPI Frame : public Panel - { - public: - Frame(int x,int y,int wide,int tall); - public: - virtual void setSize(int wide,int tall); - virtual void setInternal(bool state); - virtual void paintBackground(); - virtual bool isInternal(); - virtual Panel* getClient(); - virtual void setTitle(const char* title); - virtual void getTitle(char* buf,int bufLen); - virtual void setMoveable(bool state); - virtual void setSizeable(bool state); - virtual bool isMoveable(); - virtual bool isSizeable(); - virtual void addFrameSignal(FrameSignal* s); - virtual void setVisible(bool state); - virtual void setMenuButtonVisible(bool state); - virtual void setTrayButtonVisible(bool state); - virtual void setMinimizeButtonVisible(bool state); - virtual void setMaximizeButtonVisible(bool state); - virtual void setCloseButtonVisible(bool state); - public: //bullshit public - virtual void fireClosingSignal(); - virtual void fireMinimizingSignal(); - protected: - char* _title; - bool _internal; - bool _sizeable; - bool _moveable; - Panel* _topGrip; - Panel* _bottomGrip; - Panel* _leftGrip; - Panel* _rightGrip; - Panel* _topLeftGrip; - Panel* _topRightGrip; - Panel* _bottomLeftGrip; - Panel* _bottomRightGrip; - Panel* _captionGrip; - Panel* _client; - Button* _trayButton; - Button* _minimizeButton; - Button* _maximizeButton; - Button* _closeButton; - Button* _menuButton; - Dar _frameSignalDar; - Frame* _resizeable; - }; - -} - -#endif diff --git a/utils/vgui/include/VGUI_FrameSignal.h b/utils/vgui/include/VGUI_FrameSignal.h deleted file mode 100644 index 576d29a..0000000 --- a/utils/vgui/include/VGUI_FrameSignal.h +++ /dev/null @@ -1,27 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FRAMESIGNAL_H -#define VGUI_FRAMESIGNAL_H - -#include - -namespace vgui -{ - -class Frame; - -class VGUIAPI FrameSignal -{ -public: - virtual void closing(Frame* frame)=0; - virtual void minimizing(Frame* frame,bool toTray)=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_GridLayout.h b/utils/vgui/include/VGUI_GridLayout.h deleted file mode 100644 index cd321ce..0000000 --- a/utils/vgui/include/VGUI_GridLayout.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_GRIDLAYOUT_H -#define VGUI_GRIDLAYOUT_H - -#include -#include - -namespace vgui -{ - -/* -class VGUIAPI GridLayout : public Layout -{ -public: - GridLayout(int rows,int cols,int hgap,int vgap); -protected: - int _rows; - int _cols; -}; -*/ - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_HeaderPanel.h b/utils/vgui/include/VGUI_HeaderPanel.h deleted file mode 100644 index 0474209..0000000 --- a/utils/vgui/include/VGUI_HeaderPanel.h +++ /dev/null @@ -1,65 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_HEADERPANEL_H -#define VGUI_HEADERPANEL_H - -#include -#include -#include -#include - -namespace vgui -{ - -enum MouseCode; -class ChangeSignal; - -class VGUIAPI HeaderPanel : public Panel -{ - -private: - - Dar _sliderPanelDar; - Dar _sectionPanelDar; - Dar _changeSignalDar; - Panel* _sectionLayer; - int _sliderWide; - bool _dragging; - int _dragSliderIndex; - int _dragSliderStartPos; - int _dragSliderStartX; - -public: - - HeaderPanel(int x,int y,int wide,int tall); - -protected: - - virtual void performLayout(); - -public: - - virtual void addSectionPanel(Panel* panel); - virtual void setSliderPos(int sliderIndex,int pos); - virtual int getSectionCount(); - virtual void getSectionExtents(int sectionIndex,int& x0,int& x1); - virtual void addChangeSignal(ChangeSignal* s); - -public: //bullshit public - - virtual void fireChangeSignal(); - virtual void privateCursorMoved(int x,int y,Panel* panel); - virtual void privateMousePressed(MouseCode code,Panel* panel); - virtual void privateMouseReleased(MouseCode code,Panel* panel); - -}; - -} - -#endif - diff --git a/utils/vgui/include/VGUI_Image.h b/utils/vgui/include/VGUI_Image.h deleted file mode 100644 index 9602d89..0000000 --- a/utils/vgui/include/VGUI_Image.h +++ /dev/null @@ -1,62 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_IMAGE_H -#define VGUI_IMAGE_H - -#include -#include -#include - -//TODO:: needs concept of insets - -namespace vgui -{ - -class Panel; - -class VGUIAPI Image -{ -friend class Panel; -private: - int _pos[2]; - int _size[2]; - Panel* _panel; - Color _color; -public: - Image(); -public: - virtual void setPos(int x,int y); - virtual void getPos(int& x,int& y); - virtual void getSize(int& wide,int& tall); - virtual void setColor(Color color); - virtual void getColor(Color& color); -protected: - virtual void setSize(int wide,int tall); - virtual void drawSetColor(Scheme::SchemeColor sc); - virtual void drawSetColor(int r,int g,int b,int a); - virtual void drawFilledRect(int x0,int y0,int x1,int y1); - virtual void drawOutlinedRect(int x0,int y0,int x1,int y1); - virtual void drawSetTextFont(Scheme::SchemeFont sf); - virtual void drawSetTextFont(Font* font); - virtual void drawSetTextColor(Scheme::SchemeColor sc); - virtual void drawSetTextColor(int r,int g,int b,int a); - virtual void drawSetTextPos(int x,int y); - virtual void drawPrintText(const char* str,int strlen); - virtual void drawPrintText(int x,int y,const char* str,int strlen); - virtual void drawPrintChar(char ch); - virtual void drawPrintChar(int x,int y,char ch); - virtual void drawSetTextureRGBA(int id,const char* rgba,int wide,int tall); - virtual void drawSetTexture(int id); - virtual void drawTexturedRect(int x0,int y0,int x1,int y1); - virtual void paint(Panel* panel); -public: - virtual void doPaint(Panel* panel); -}; -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ImagePanel.h b/utils/vgui/include/VGUI_ImagePanel.h deleted file mode 100644 index 50e043f..0000000 --- a/utils/vgui/include/VGUI_ImagePanel.h +++ /dev/null @@ -1,38 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_IMAGEPANEL_H -#define VGUI_IMAGEPANEL_H - -#include -#include - -namespace vgui -{ - -class Image; - -class VGUIAPI ImagePanel : public Panel -{ -public: - inline ImagePanel() - { - _image=null; - } - - ImagePanel(Image* image); -public: - virtual void setImage(Image* image); -protected: - virtual void paintBackground(); -protected: - Image* _image; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_InputSignal.h b/utils/vgui/include/VGUI_InputSignal.h deleted file mode 100644 index 3aa7bda..0000000 --- a/utils/vgui/include/VGUI_InputSignal.h +++ /dev/null @@ -1,39 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_INPUTSIGNAL_H -#define VGUI_INPUTSIGNAL_H - -#include - -namespace vgui -{ - -enum MouseCode; -enum KeyCode; -class Panel; - -//these are lumped into one for simplicity sake right now -class VGUIAPI InputSignal -{ -public: - virtual void cursorMoved(int x,int y,Panel* panel)=0; - virtual void cursorEntered(Panel* panel)=0; - virtual void cursorExited(Panel* panel)=0; - virtual void mousePressed(MouseCode code,Panel* panel)=0; - virtual void mouseDoublePressed(MouseCode code,Panel* panel)=0; - virtual void mouseReleased(MouseCode code,Panel* panel)=0; - virtual void mouseWheeled(int delta,Panel* panel)=0; - virtual void keyPressed(KeyCode code,Panel* panel)=0; - virtual void keyTyped(KeyCode code,Panel* panel)=0; - virtual void keyReleased(KeyCode code,Panel* panel)=0; - virtual void keyFocusTicked(Panel* panel)=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_InputStream.h b/utils/vgui/include/VGUI_InputStream.h deleted file mode 100644 index e2f3fdf..0000000 --- a/utils/vgui/include/VGUI_InputStream.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_FILE_H -#define VGUI_FILE_H - -#include - -namespace vgui -{ - -class VGUIAPI InputStream -{ -public: - virtual void seekStart(bool& success)=0; - virtual void seekRelative(int count,bool& success)=0; - virtual void seekEnd(bool& success)=0; - virtual int getAvailable(bool& success)=0; - virtual uchar readUChar(bool& success)=0; - virtual void readUChar(uchar* buf,int count,bool& success)=0; - virtual void close(bool& success)=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_IntChangeSignal.h b/utils/vgui/include/VGUI_IntChangeSignal.h deleted file mode 100644 index 48aa01b..0000000 --- a/utils/vgui/include/VGUI_IntChangeSignal.h +++ /dev/null @@ -1,26 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_INTCHANGESIGNAL_H -#define VGUI_INTCHANGESIGNAL_H - -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI IntChangeSignal -{ -public: - virtual void intChanged(int value,Panel* panel)=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_IntLabel.h b/utils/vgui/include/VGUI_IntLabel.h deleted file mode 100644 index 8248f94..0000000 --- a/utils/vgui/include/VGUI_IntLabel.h +++ /dev/null @@ -1,35 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_INTLABEL_H -#define VGUI_INTLABEL_H - -#include -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI IntLabel : public Label , public IntChangeSignal -{ -public: - IntLabel(int value,int x,int y,int wide,int tall); -public: - virtual void setValue(int value); - virtual void intChanged(int value,Panel* panel); -protected: - virtual void paintBackground(); -protected: - int _value; -}; - -} - -#endif diff --git a/utils/vgui/include/VGUI_KeyCode.h b/utils/vgui/include/VGUI_KeyCode.h deleted file mode 100644 index 19660f5..0000000 --- a/utils/vgui/include/VGUI_KeyCode.h +++ /dev/null @@ -1,126 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_KEYCODE_H -#define VGUI_KEYCODE_H - -#include - -namespace vgui -{ -enum VGUIAPI KeyCode -{ - KEY_0=0, - KEY_1, - KEY_2, - KEY_3, - KEY_4, - KEY_5, - KEY_6, - KEY_7, - KEY_8, - KEY_9, - KEY_A, - KEY_B, - KEY_C, - KEY_D, - KEY_E, - KEY_F, - KEY_G, - KEY_H, - KEY_I, - KEY_J, - KEY_K, - KEY_L, - KEY_M, - KEY_N, - KEY_O, - KEY_P, - KEY_Q, - KEY_R, - KEY_S, - KEY_T, - KEY_U, - KEY_V, - KEY_W, - KEY_X, - KEY_Y, - KEY_Z, - KEY_PAD_0, - KEY_PAD_1, - KEY_PAD_2, - KEY_PAD_3, - KEY_PAD_4, - KEY_PAD_5, - KEY_PAD_6, - KEY_PAD_7, - KEY_PAD_8, - KEY_PAD_9, - KEY_PAD_DIVIDE, - KEY_PAD_MULTIPLY, - KEY_PAD_MINUS, - KEY_PAD_PLUS, - KEY_PAD_ENTER, - KEY_PAD_DECIMAL, - KEY_LBRACKET, - KEY_RBRACKET, - KEY_SEMICOLON, - KEY_APOSTROPHE, - KEY_BACKQUOTE, - KEY_COMMA, - KEY_PERIOD, - KEY_SLASH, - KEY_BACKSLASH, - KEY_MINUS, - KEY_EQUAL, - KEY_ENTER, - KEY_SPACE, - KEY_BACKSPACE, - KEY_TAB, - KEY_CAPSLOCK, - KEY_NUMLOCK, - KEY_ESCAPE, - KEY_SCROLLLOCK, - KEY_INSERT, - KEY_DELETE, - KEY_HOME, - KEY_END, - KEY_PAGEUP, - KEY_PAGEDOWN, - KEY_BREAK, - KEY_LSHIFT, - KEY_RSHIFT, - KEY_LALT, - KEY_RALT, - KEY_LCONTROL, - KEY_RCONTROL, - KEY_LWIN, - KEY_RWIN, - KEY_APP, - KEY_UP, - KEY_LEFT, - KEY_DOWN, - KEY_RIGHT, - KEY_F1, - KEY_F2, - KEY_F3, - KEY_F4, - KEY_F5, - KEY_F6, - KEY_F7, - KEY_F8, - KEY_F9, - KEY_F10, - KEY_F11, - KEY_F12, - KEY_LAST, -}; -} - - -#endif - diff --git a/utils/vgui/include/VGUI_Label.h b/utils/vgui/include/VGUI_Label.h deleted file mode 100644 index bc55163..0000000 --- a/utils/vgui/include/VGUI_Label.h +++ /dev/null @@ -1,80 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_LABEL_H -#define VGUI_LABEL_H - -#include -#include -#include - -//TODO: this should use a TextImage for the text - -namespace vgui -{ - -class Panel; -class TextImage; - -class VGUIAPI Label : public Panel -{ -public: - enum Alignment - { - a_northwest=0, - a_north, - a_northeast, - a_west, - a_center, - a_east, - a_southwest, - a_south, - a_southeast, - }; -public: - Label(int textBufferLen,const char* text,int x,int y,int wide,int tall); - Label(const char* text,int x,int y,int wide,int tall); - Label(const char* text,int x,int y); - Label(const char* text); - - inline Label() : Panel(0,0,10,10) - { - init(1,"",true); - } -private: - void init(int textBufferLen,const char* text,bool textFitted); -public: - virtual void setImage(Image* image); - virtual void setText(int textBufferLen,const char* text); - virtual void setText(const char* format,...); - virtual void setFont(Scheme::SchemeFont schemeFont); - virtual void setFont(Font* font); - virtual void getTextSize(int& wide,int& tall); - virtual void getContentSize(int& wide,int& tall); - virtual void setTextAlignment(Alignment alignment); - virtual void setContentAlignment(Alignment alignment); - virtual Panel* createPropertyPanel(); - virtual void setFgColor(int r,int g,int b,int a); - virtual void setFgColor(vgui::Scheme::SchemeColor sc); - virtual void setContentFitted(bool state); -protected: - virtual void computeAlignment(int& tx0,int& ty0,int& tx1,int& ty1,int& ix0,int& iy0,int& ix1,int& iy1,int& minX,int& minY,int& maxX,int& maxY); - virtual void paint(); - virtual void recomputeMinimumSize(); -protected: - bool _textEnabled; - bool _imageEnabled; - bool _contentFitted; - Alignment _textAlignment; - Alignment _contentAlignment; - TextImage* _textImage; - Image* _image; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Layout.h b/utils/vgui/include/VGUI_Layout.h deleted file mode 100644 index 2fb41ae..0000000 --- a/utils/vgui/include/VGUI_Layout.h +++ /dev/null @@ -1,31 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_LAYOUT_H -#define VGUI_LAYOUT_H - -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI Layout -{ -//private: -// Panel* _panel; -public: - Layout(); -public: - //virtual void setPanel(Panel* panel); //called by Panel::setLayout - virtual void performLayout(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_LayoutInfo.h b/utils/vgui/include/VGUI_LayoutInfo.h deleted file mode 100644 index 6a3bd41..0000000 --- a/utils/vgui/include/VGUI_LayoutInfo.h +++ /dev/null @@ -1,21 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_LAYOUTINFO_H -#define VGUI_LAYOUTINFO_H - -namespace vgui -{ - -class VGUIAPI LayoutInfo -{ - virtual LayoutInfo* getThis()=0; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_LineBorder.h b/utils/vgui/include/VGUI_LineBorder.h deleted file mode 100644 index 952c27b..0000000 --- a/utils/vgui/include/VGUI_LineBorder.h +++ /dev/null @@ -1,39 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_LINEBORDER_H -#define VGUI_LINEBORDER_H - -#include -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI LineBorder : public Border -{ -private: - Color _color; -public: - LineBorder(); - LineBorder(int thickness); - LineBorder(Color color); - LineBorder(int thickness,Color color); - - inline void setLineColor(int r, int g, int b, int a) {_color = Color(r,g,b,a);} -private: - virtual void init(int thickness,Color color); -protected: - virtual void paint(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ListPanel.h b/utils/vgui/include/VGUI_ListPanel.h deleted file mode 100644 index abf76c5..0000000 --- a/utils/vgui/include/VGUI_ListPanel.h +++ /dev/null @@ -1,40 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_LISTPANEL_H -#define VGUI_LISTPANEL_H - -#include -#include - -namespace vgui -{ - -class ScrollBar; - -//TODO: make a ScrollPanel and use a constrained one for _vpanel in ListPanel -class VGUIAPI ListPanel : public Panel -{ -public: - ListPanel(int x,int y,int wide,int tall); -public: - virtual void setSize(int wide,int tall); - virtual void addString(const char* str); - virtual void addItem(Panel* panel); - virtual void setPixelScroll(int value); - virtual void translatePixelScroll(int delta); -protected: - virtual void performLayout(); - virtual void paintBackground(); -protected: - Panel* _vpanel; - ScrollBar* _scroll; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_LoweredBorder.h b/utils/vgui/include/VGUI_LoweredBorder.h deleted file mode 100644 index 7b7249d..0000000 --- a/utils/vgui/include/VGUI_LoweredBorder.h +++ /dev/null @@ -1,29 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_LOWEREDBORDER_H -#define VGUI_LOWEREDBORDER_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI LoweredBorder : public Border -{ -public: - LoweredBorder(); -protected: - virtual void paint(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Menu.h b/utils/vgui/include/VGUI_Menu.h deleted file mode 100644 index 9207394..0000000 --- a/utils/vgui/include/VGUI_Menu.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_MENU_H -#define VGUI_MENU_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI Menu : public Panel -{ -public: - Menu(int x,int y,int wide,int tall); - Menu(int wide,int tall); -public: - virtual void addMenuItem(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_MenuItem.h b/utils/vgui/include/VGUI_MenuItem.h deleted file mode 100644 index 157a2f0..0000000 --- a/utils/vgui/include/VGUI_MenuItem.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_MENUITEM_H -#define VGUI_MENUITEM_H - -#include -#include - -namespace vgui -{ - -class Menu; - -class VGUIAPI MenuItem : public Button -{ -public: - MenuItem(const char* text); - MenuItem(const char* text,Menu* subMenu); -protected: - Menu* _subMenu; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_MenuSeparator.h b/utils/vgui/include/VGUI_MenuSeparator.h deleted file mode 100644 index e7bd36c..0000000 --- a/utils/vgui/include/VGUI_MenuSeparator.h +++ /dev/null @@ -1,27 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_MENUSEPARATOR_H -#define VGUI_MENUSEPARATOR_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI MenuSeparator : public Label -{ -public: - MenuSeparator(const char* text); -protected: - virtual void paintBackground(); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_MessageBox.h b/utils/vgui/include/VGUI_MessageBox.h deleted file mode 100644 index fa2d486..0000000 --- a/utils/vgui/include/VGUI_MessageBox.h +++ /dev/null @@ -1,53 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_MESSAGEBOX_H -#define VGUI_MESSAGEBOX_H - -#include -#include -#include - - -namespace vgui -{ - -class Label; -class Button; -class ActionSignal; - -class VGUIAPI MessageBox : public Frame -{ - -private: - - Label* _messageLabel; - Button* _okButton; - Dar _actionSignalDar; - -public: - - MessageBox(const char* title,const char* text,int x,int y); - -protected: - - virtual void performLayout(); - -public: - - virtual void addActionSignal(ActionSignal* s); - virtual void fireActionSignal(); - -}; - -} - - - - - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_MiniApp.h b/utils/vgui/include/VGUI_MiniApp.h deleted file mode 100644 index c4a1142..0000000 --- a/utils/vgui/include/VGUI_MiniApp.h +++ /dev/null @@ -1,33 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_MINIAPP_H -#define VGUI_MINIAPP_H - -#include - -namespace vgui -{ - -class Frame; - -class VGUIAPI MiniApp -{ -public: - MiniApp(); -public: - virtual void getName(char* buf,int bufLen); - virtual Frame* createInstance()=0; -protected: - virtual void setName(const char* name); -protected: - char* _name; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_MouseCode.h b/utils/vgui/include/VGUI_MouseCode.h deleted file mode 100644 index 1b7e92e..0000000 --- a/utils/vgui/include/VGUI_MouseCode.h +++ /dev/null @@ -1,24 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_MOUSECODE_H -#define VGUI_MOUSECODE_H - -#include - -namespace vgui -{ -enum VGUIAPI MouseCode -{ - MOUSE_LEFT=0, - MOUSE_RIGHT, - MOUSE_MIDDLE, - MOUSE_LAST, -}; -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Panel.h b/utils/vgui/include/VGUI_Panel.h deleted file mode 100644 index 20f8de4..0000000 --- a/utils/vgui/include/VGUI_Panel.h +++ /dev/null @@ -1,224 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_PANEL_H -#define VGUI_PANEL_H - - -/* - -TODO: - -Maybe have the border know who they are added to. -A border can only be added to 1 thing, and will be -removed from the other. That way they can actually -be memory managed. Also do Layout's this way too. - -TODO: - outlinedRect should have a thickness arg - -*/ - - -#include -#include -#include -#include - -namespace vgui -{ - -enum KeyCode; -enum MouseCode; -class SurfaceBase; -class FocusChangeSignal; -class InputSignal; -class Cursor; -class Layout; -class FocusNavGroup; -class Border; -class Font; -class BuildGroup; -class App; -class LayoutInfo; - -class VGUIAPI Panel -{ -public: - Panel(); - Panel(int x,int y,int wide,int tall); -private: - void init(int x,int y,int wide,int tall); -public: - virtual void setPos(int x,int y); - virtual void getPos(int& x,int& y); - virtual void setSize(int wide,int tall); - virtual void getSize(int& wide,int& tall); - virtual void setBounds(int x,int y,int wide,int tall); - virtual void getBounds(int& x,int& y,int& wide,int& tall); - virtual int getWide(); - virtual int getTall(); - virtual Panel* getParent(); - virtual void setVisible(bool state); - virtual bool isVisible(); - virtual bool isVisibleUp(); - virtual void repaint(); - virtual void repaintAll(); - virtual void getAbsExtents(int& x0,int& y0,int& x1,int& y1); - virtual void getClipRect(int& x0,int& y0,int& x1,int& y1); - virtual void setParent(Panel* newParent); - virtual void addChild(Panel* child); - virtual void insertChildAt(Panel* child,int index); - virtual void removeChild(Panel* child); - virtual bool wasMousePressed(MouseCode code); - virtual bool wasMouseDoublePressed(MouseCode code); - virtual bool isMouseDown(MouseCode code); - virtual bool wasMouseReleased(MouseCode code); - virtual bool wasKeyPressed(KeyCode code); - virtual bool isKeyDown(KeyCode code); - virtual bool wasKeyTyped(KeyCode code); - virtual bool wasKeyReleased(KeyCode code); - virtual void addInputSignal(InputSignal* s); - virtual void removeInputSignal(InputSignal* s); - virtual void addRepaintSignal(RepaintSignal* s); - virtual void removeRepaintSignal(RepaintSignal* s); - virtual bool isWithin(int x,int y); //in screen space - virtual Panel* isWithinTraverse(int x,int y); - virtual void localToScreen(int& x,int& y); - virtual void screenToLocal(int& x,int& y); - virtual void setCursor(Cursor* cursor); - virtual void setCursor(Scheme::SchemeCursor scu); - virtual Cursor* getCursor(); - virtual void setMinimumSize(int wide,int tall); - virtual void getMinimumSize(int& wide,int& tall); - virtual void requestFocus(); - virtual bool hasFocus(); - virtual int getChildCount(); - virtual Panel* getChild(int index); - virtual void setLayout(Layout* layout); - virtual void invalidateLayout(bool layoutNow); - virtual void setFocusNavGroup(FocusNavGroup* focusNavGroup); - virtual void requestFocusPrev(); - virtual void requestFocusNext(); - virtual void addFocusChangeSignal(FocusChangeSignal* s); - virtual bool isAutoFocusNavEnabled(); - virtual void setAutoFocusNavEnabled(bool state); - virtual void setBorder(Border* border); - virtual void setPaintBorderEnabled(bool state); - virtual void setPaintBackgroundEnabled(bool state); - virtual void setPaintEnabled(bool state); - virtual void getInset(int& left,int& top,int& right,int& bottom); - virtual void getPaintSize(int& wide,int& tall); - virtual void setPreferredSize(int wide,int tall); - virtual void getPreferredSize(int& wide,int& tall); - virtual SurfaceBase* getSurfaceBase(); - virtual bool isEnabled(); - virtual void setEnabled(bool state); - virtual void setBuildGroup(BuildGroup* buildGroup,const char* panelPersistanceName); - virtual bool isBuildGroupEnabled(); - virtual void removeAllChildren(); - virtual void repaintParent(); - virtual Panel* createPropertyPanel(); - virtual void getPersistanceText(char* buf,int bufLen); - virtual void applyPersistanceText(const char* buf); - virtual void setFgColor(Scheme::SchemeColor sc); - virtual void setBgColor(Scheme::SchemeColor sc); - virtual void setFgColor(int r,int g,int b,int a); - virtual void setBgColor(int r,int g,int b,int a); - virtual void getFgColor(int& r,int& g,int& b,int& a); - virtual void getBgColor(int& r,int& g,int& b,int& a); - virtual void setBgColor(Color color); - virtual void setFgColor(Color color); - virtual void getBgColor(Color& color); - virtual void getFgColor(Color& color); - virtual void setAsMouseCapture(bool state); - virtual void setAsMouseArena(bool state); - virtual App* getApp(); - virtual void getVirtualSize(int& wide,int& tall); - virtual void setLayoutInfo(LayoutInfo* layoutInfo); - virtual LayoutInfo* getLayoutInfo(); - virtual bool isCursorNone(); -public: //bullshit public - virtual void solveTraverse(); - virtual void paintTraverse(); - virtual void setSurfaceBaseTraverse(SurfaceBase* surfaceBase); -protected: - virtual void performLayout(); - virtual void internalPerformLayout(); - virtual void drawSetColor(Scheme::SchemeColor sc); - virtual void drawSetColor(int r,int g,int b,int a); - virtual void drawFilledRect(int x0,int y0,int x1,int y1); - virtual void drawOutlinedRect(int x0,int y0,int x1,int y1); - virtual void drawSetTextFont(Scheme::SchemeFont sf); - virtual void drawSetTextFont(Font* font); - virtual void drawSetTextColor(Scheme::SchemeColor sc); - virtual void drawSetTextColor(int r,int g,int b,int a); - virtual void drawSetTextPos(int x,int y); - virtual void drawPrintText(const char* str,int strlen); - virtual void drawPrintText(int x,int y,const char* str,int strlen); - virtual void drawPrintChar(char ch); - virtual void drawPrintChar(int x,int y,char ch); - virtual void drawSetTextureRGBA(int id,const char* rgba,int wide,int tall); - virtual void drawSetTexture(int id); - virtual void drawTexturedRect(int x0,int y0,int x1,int y1); - virtual void solve(); - virtual void paintTraverse(bool repaint); - virtual void paintBackground(); - virtual void paint(); - virtual void paintBuildOverlay(); - virtual void internalCursorMoved(int x,int y); - virtual void internalCursorEntered(); - virtual void internalCursorExited(); - virtual void internalMousePressed(MouseCode code); - virtual void internalMouseDoublePressed(MouseCode code); - virtual void internalMouseReleased(MouseCode code); - virtual void internalMouseWheeled(int delta); - virtual void internalKeyPressed(KeyCode code); - virtual void internalKeyTyped(KeyCode code); - virtual void internalKeyReleased(KeyCode code); - virtual void internalKeyFocusTicked(); - virtual void internalFocusChanged(bool lost); - virtual void internalSetCursor(); -protected: - int _pos[2]; - int _size[2]; - int _loc[2]; - int _minimumSize[2]; - int _preferredSize[2]; - Dar _childDar; - Panel* _parent; - SurfaceBase* _surfaceBase; - Dar _inputSignalDar; - Dar _repaintSignalDar; - int _clipRect[4]; - Cursor* _cursor; - Scheme::SchemeCursor _schemeCursor; - bool _visible; - Layout* _layout; - bool _needsLayout; - FocusNavGroup* _focusNavGroup; - Dar _focusChangeSignalDar; - bool _autoFocusNavEnabled; - Border* _border; -private: - bool _needsRepaint; - bool _enabled; - BuildGroup* _buildGroup; - Color _fgColor; - Color _bgColor; - LayoutInfo* _layoutInfo; - bool _paintBorderEnabled; - bool _paintBackgroundEnabled; - bool _paintEnabled; -friend class Panel; -friend class App; -friend class SurfaceBase; -friend class Image; -}; -} - -#endif diff --git a/utils/vgui/include/VGUI_PopupMenu.h b/utils/vgui/include/VGUI_PopupMenu.h deleted file mode 100644 index 8d60092..0000000 --- a/utils/vgui/include/VGUI_PopupMenu.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_POPUPMENU_H -#define VGUI_POPUPMENU_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI PopupMenu : public Menu -{ -public: - PopupMenu(int x,int y,int wide,int tall); - PopupMenu(int wide,int tall); -public: - virtual void showModal(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ProgressBar.h b/utils/vgui/include/VGUI_ProgressBar.h deleted file mode 100644 index e3d37b3..0000000 --- a/utils/vgui/include/VGUI_ProgressBar.h +++ /dev/null @@ -1,33 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_PROGRESSBAR_H -#define VGUI_PROGRESSBAR_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI ProgressBar : public Panel -{ -private: - int _segmentCount; - float _progress; -public: - ProgressBar(int segmentCount); -protected: - virtual void paintBackground(); -public: - virtual void setProgress(float progress); - virtual int getSegmentCount(); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_RadioButton.h b/utils/vgui/include/VGUI_RadioButton.h deleted file mode 100644 index 09a70d6..0000000 --- a/utils/vgui/include/VGUI_RadioButton.h +++ /dev/null @@ -1,29 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_RADIOBUTTON_H -#define VGUI_RADIOBUTTON_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI RadioButton : public ToggleButton -{ -public: - RadioButton(const char* text,int x,int y,int wide,int tall); - RadioButton(const char* text,int x,int y); -protected: - virtual void paintBackground(); -}; - -} - -#endif - diff --git a/utils/vgui/include/VGUI_RaisedBorder.h b/utils/vgui/include/VGUI_RaisedBorder.h deleted file mode 100644 index aaed5f6..0000000 --- a/utils/vgui/include/VGUI_RaisedBorder.h +++ /dev/null @@ -1,29 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_RAISEDBORDER_H -#define VGUI_RAISEDBORDER_H - -#include -#include - -namespace vgui -{ - -class Panel; - -class VGUIAPI RaisedBorder : public Border -{ -public: - RaisedBorder(); -protected: - virtual void paint(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_RepaintSignal.h b/utils/vgui/include/VGUI_RepaintSignal.h deleted file mode 100644 index 87b96ab..0000000 --- a/utils/vgui/include/VGUI_RepaintSignal.h +++ /dev/null @@ -1,25 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_REPAINTSIGNAL_H -#define VGUI_REPAINTSIGNAL_H - - - -namespace vgui -{ - -class RepaintSignal -{ -public: - virtual void panelRepainted(Panel* panel)=0; -}; - -} - - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_Scheme.h b/utils/vgui/include/VGUI_Scheme.h deleted file mode 100644 index cf19ef4..0000000 --- a/utils/vgui/include/VGUI_Scheme.h +++ /dev/null @@ -1,82 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SCHEME_H -#define VGUI_SCHEME_H - -#include - - -namespace vgui -{ - -class Font; -class Cursor; - -class VGUIAPI Scheme -{ -public: - enum SchemeColor - { - sc_user=0, - sc_black, - sc_white, - sc_primary1, - sc_primary2, - sc_primary3, - sc_secondary1, - sc_secondary2, - sc_secondary3, - sc_last, - }; - enum SchemeFont - { - sf_user=0, - sf_primary1, - sf_primary2, - sf_primary3, - sf_secondary1, - sf_last, - }; - enum SchemeCursor - { - scu_user=0, - scu_none, - scu_arrow, - scu_ibeam, - scu_hourglass, - scu_crosshair, - scu_up, - scu_sizenwse, - scu_sizenesw, - scu_sizewe, - scu_sizens, - scu_sizeall, - scu_no, - scu_hand, - scu_last, - }; -public: - Scheme(); -public: - virtual void setColor(SchemeColor sc,int r,int g,int b,int a); - virtual void getColor(SchemeColor sc,int& r,int& g,int& b,int& a); - virtual void setFont(SchemeFont sf,Font* font); - virtual Font* getFont(SchemeFont sf); - virtual void setCursor(SchemeCursor sc,Cursor* cursor); - virtual Cursor* getCursor(SchemeCursor sc); -protected: - int _color[sc_last][4]; - Font* _font[sf_last]; - Cursor* _cursor[scu_last]; - friend class Panel; - friend class Canvas; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ScrollBar.h b/utils/vgui/include/VGUI_ScrollBar.h deleted file mode 100644 index 6b753b3..0000000 --- a/utils/vgui/include/VGUI_ScrollBar.h +++ /dev/null @@ -1,56 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SCROLLBAR_H -#define VGUI_SCROLLBAR_H - -#include -#include -#include - -namespace vgui -{ - -class IntChangeSignal; -class Button; -class Slider; - -class VGUIAPI ScrollBar : public Panel -{ -public: - ScrollBar(int x,int y,int wide,int tall,bool vertical); -public: - 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(Slider* slider); - virtual Slider* getSlider(); - virtual void doButtonPressed(int buttonIndex); - virtual void setButtonPressedScrollValue(int value); - virtual void validate(); -public: //bullshit public - virtual void fireIntChangeSignal(); -protected: - virtual void performLayout(); -protected: - Button* _button[2]; - Slider* _slider; - Dar _intChangeSignalDar; - int _buttonPressedScrollValue; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ScrollPanel.h b/utils/vgui/include/VGUI_ScrollPanel.h deleted file mode 100644 index 6012b7c..0000000 --- a/utils/vgui/include/VGUI_ScrollPanel.h +++ /dev/null @@ -1,55 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SCROLLPANEL_H -#define VGUI_SCROLLPANEL_H - -#include -#include - -//NOTE: You need to call validate anytime you change a scrollbar - -namespace vgui -{ - -class ScrollBar; - -class VGUIAPI ScrollPanel : public Panel -{ -private: - Panel* _clientClip; - Panel* _client; - ScrollBar* _horizontalScrollBar; - ScrollBar* _verticalScrollBar; - bool _autoVisible[2]; -public: - ScrollPanel(int x,int y,int wide,int tall); -protected: - virtual void setSize(int wide,int tall); -public: - virtual void setScrollBarVisible(bool horizontal,bool vertical); - virtual void setScrollBarAutoVisible(bool horizontal,bool vertical); - virtual Panel* getClient(); - virtual Panel* getClientClip(); - virtual void setScrollValue(int horizontal,int vertical); - virtual void getScrollValue(int& horizontal,int& vertical); - virtual void recomputeClientSize(); - virtual ScrollBar* getHorizontalScrollBar(); - virtual ScrollBar* getVerticalScrollBar(); - virtual void validate(); -public: //bullshit public - virtual void recomputeScroll(); -}; - -} - - - - - - -#endif diff --git a/utils/vgui/include/VGUI_Slider.h b/utils/vgui/include/VGUI_Slider.h deleted file mode 100644 index 0c1b8f4..0000000 --- a/utils/vgui/include/VGUI_Slider.h +++ /dev/null @@ -1,69 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SLIDER_H -#define VGUI_SLIDER_H - -#include -#include -#include - -namespace vgui -{ - -enum MouseCode; -class IntChangeSignal; - -class VGUIAPI Slider : public Panel -{ -private: - bool _vertical; - bool _dragging; - int _nobPos[2]; - int _nobDragStartPos[2]; - int _dragStartPos[2]; - Dar _intChangeSignalDar; - int _range[2]; - int _value; - int _rangeWindow; - bool _rangeWindowEnabled; - int _buttonOffset; -public: - Slider(int x,int y,int wide,int tall,bool vertical); -public: - virtual void setValue(int value); - 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); - virtual bool hasFullRange(); - virtual void setButtonOffset(int buttonOffset); -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); -protected: - virtual void fireIntChangeSignal(); - virtual void paintBackground(); -}; - -} - -#endif - - - - - diff --git a/utils/vgui/include/VGUI_StackLayout.h b/utils/vgui/include/VGUI_StackLayout.h deleted file mode 100644 index 1aacb64..0000000 --- a/utils/vgui/include/VGUI_StackLayout.h +++ /dev/null @@ -1,30 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_STACKLAYOUT_H -#define VGUI_STACKLAYOUT_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI StackLayout : public Layout -{ -private: - int _vgap; - bool _fitWide; -public: - StackLayout(int vgap,bool fitWide); -public: - virtual void performLayout(Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_String.h b/utils/vgui/include/VGUI_String.h deleted file mode 100644 index 3d42758..0000000 --- a/utils/vgui/include/VGUI_String.h +++ /dev/null @@ -1,61 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_STRING_H -#define VGUI_STRING_H - -#include - - -namespace vgui -{ - -class VGUIAPI String -{ - -friend class String; - -private: - - char* _text; - -public: - - String(); - String(const char* text); - String(const String& src); - -public: - - ~String(); - -private: - - int getCount(const char* text); - -public: - - int getCount(); - String operator+(String text); - String operator+(const char* text); - bool operator==(String text); - bool operator==(const char* text); - char operator[](int index); - const char* getChars(); - -public: - - static void test(); - -}; - - -} - - -#endif - diff --git a/utils/vgui/include/VGUI_Surface.h b/utils/vgui/include/VGUI_Surface.h deleted file mode 100644 index 19cd852..0000000 --- a/utils/vgui/include/VGUI_Surface.h +++ /dev/null @@ -1,67 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SURFACE_H -#define VGUI_SURFACE_H - -#include -#include -#include - -namespace vgui -{ - -class Panel; -class Cursor; - -class VGUIAPI Surface : public SurfaceBase -{ -public: - Surface(Panel* embeddedPanel); -public: - virtual void setTitle(const char* title); - virtual bool setFullscreenMode(int wide,int tall,int bpp); - virtual void setWindowedMode(); - virtual void setAsTopMost(bool state); - virtual int getModeInfoCount(); - virtual void createPopup(Panel* embeddedPanel); - virtual bool hasFocus(); - virtual bool isWithin(int x,int y); -protected: - virtual int createNewTextureID(void); - virtual void drawSetColor(int r,int g,int b,int a); - virtual void drawFilledRect(int x0,int y0,int x1,int y1); - virtual void drawOutlinedRect(int x0,int y0,int x1,int y1); - virtual void drawSetTextFont(Font* font); - virtual void drawSetTextColor(int r,int g,int b,int a); - virtual void drawSetTextPos(int x,int y); - virtual void drawPrintText(const char* text,int textLen); - virtual void drawSetTextureRGBA(int id,const char* rgba,int wide,int tall); - virtual void drawSetTexture(int id); - virtual void drawTexturedRect(int x0,int y0,int x1,int y1); - virtual void invalidate(Panel *panel); - virtual bool createPlat(); - virtual bool recreateContext(); - virtual void enableMouseCapture(bool state); - virtual void setCursor(Cursor* cursor); - virtual void swapBuffers(); - virtual void pushMakeCurrent(Panel* panel,bool useInsets); - virtual void popMakeCurrent(Panel* panel); - virtual void applyChanges(); -protected: - class SurfacePlat* _plat; - bool _needsSwap; - Panel* _embeddedPanel; - Dar _modeInfoDar; - friend class App; - friend class Panel; -}; - -} - -#endif - diff --git a/utils/vgui/include/VGUI_SurfaceBase.h b/utils/vgui/include/VGUI_SurfaceBase.h deleted file mode 100644 index 0765e8e..0000000 --- a/utils/vgui/include/VGUI_SurfaceBase.h +++ /dev/null @@ -1,81 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SURFACEBASE_H -#define VGUI_SURFACEBASE_H - -#include -#include - -namespace vgui -{ - -class Panel; -class Cursor; -class Font; -class App; -class ImagePanel; - -class VGUIAPI SurfaceBase -{ -public: - SurfaceBase(Panel* embeddedPanel); -protected: - ~SurfaceBase(); -public: - virtual Panel* getPanel(); - virtual void requestSwap(); - virtual void resetModeInfo(); - virtual int getModeInfoCount(); - virtual bool getModeInfo(int mode,int& wide,int& tall,int& bpp); - virtual App* getApp(); - virtual void setEmulatedCursorVisible(bool state); - virtual void setEmulatedCursorPos(int x,int y); -public: - virtual void setTitle(const char* title)=0; - virtual bool setFullscreenMode(int wide,int tall,int bpp)=0; - virtual void setWindowedMode()=0; - virtual void setAsTopMost(bool state)=0; - virtual void createPopup(Panel* embeddedPanel)=0; - virtual bool hasFocus()=0; - virtual bool isWithin(int x,int y)=0; - virtual int createNewTextureID(void)=0; -protected: - virtual void addModeInfo(int wide,int tall,int bpp); -protected: - virtual void drawSetColor(int r,int g,int b,int a)=0; - virtual void drawFilledRect(int x0,int y0,int x1,int y1)=0; - virtual void drawOutlinedRect(int x0,int y0,int x1,int y1)=0; - virtual void drawSetTextFont(Font* font)=0; - virtual void drawSetTextColor(int r,int g,int b,int a)=0; - virtual void drawSetTextPos(int x,int y)=0; - virtual void drawPrintText(const char* text,int textLen)=0; - virtual void drawSetTextureRGBA(int id,const char* rgba,int wide,int tall)=0; - virtual void drawSetTexture(int id)=0; - virtual void drawTexturedRect(int x0,int y0,int x1,int y1)=0; - virtual void invalidate(Panel *panel)=0; - virtual void enableMouseCapture(bool state)=0; - virtual void setCursor(Cursor* cursor)=0; - virtual void swapBuffers()=0; - virtual void pushMakeCurrent(Panel* panel,bool useInsets)=0; - virtual void popMakeCurrent(Panel* panel)=0; - virtual void applyChanges()=0; -protected: - bool _needsSwap; - App* _app; - Panel* _embeddedPanel; - Dar _modeInfoDar; - ImagePanel* _emulatedCursor; - Cursor* _currentCursor; -friend class App; -friend class Panel; -}; - -} - -#endif - diff --git a/utils/vgui/include/VGUI_SurfaceGL.h b/utils/vgui/include/VGUI_SurfaceGL.h deleted file mode 100644 index 3678443..0000000 --- a/utils/vgui/include/VGUI_SurfaceGL.h +++ /dev/null @@ -1,98 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_SURFACEGL_H -#define VGUI_SURFACEGL_H - -//macros borrowed from GLUT to get rid of win32 dependent junk in gl headers -#ifdef _WIN32 -# ifndef APIENTRY -# define VGUI_APIENTRY_DEFINED -# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) -# define APIENTRY __stdcall -# else -# define APIENTRY -# endif -# endif -# ifndef CALLBACK -# define VGUI_CALLBACK_DEFINED -# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) -# define CALLBACK __stdcall -# else -# define CALLBACK -# endif -# endif -# ifndef WINGDIAPI -# define VGUI_WINGDIAPI_DEFINED -# define WINGDIAPI __declspec(dllimport) -# endif -# ifndef _WCHAR_T_DEFINED -typedef unsigned short wchar_t; -# define _WCHAR_T_DEFINED -# endif -# pragma comment(lib,"opengl32.lib") -#endif - -#include -#include - -#ifdef VGUI_APIENTRY_DEFINED -# undef VGUI_APIENTRY_DEFINED -# undef APIENTRY -#endif - -#ifdef VGUI_CALLBACK_DEFINED -# undef VGUI_CALLBACK_DEFINED -# undef CALLBACK -#endif - -#ifdef VGUI_WINGDIAPI_DEFINED -# undef VGUI_WINGDIAPI_DEFINED -# undef WINGDIAPI -#endif - - - -#include -#include -#include - -namespace vgui -{ - -class VGUIAPI SurfaceGL : public Surface -{ -public: - SurfaceGL(Panel* embeddedPanel); -public: - virtual void createPopup(Panel* embeddedPanel); -protected: - virtual bool recreateContext(); - virtual void pushMakeCurrent(Panel* panel,bool useInsets); - virtual void popMakeCurrent(Panel* panel); - virtual void makeCurrent(); - virtual void swapBuffers(); - virtual void setColor(int r,int g,int b); - virtual void filledRect(int x0,int y0,int x1,int y1); - virtual void outlinedRect(int x0,int y0,int x1,int y1); - virtual void setTextFont(Font* font); - virtual void setTextColor(int r,int g,int b); - virtual void setDrawPos(int x,int y); - virtual void printText(const char* str,int strlen); - virtual void setTextureRGBA(int id,const char* rgba,int wide,int tall); - virtual void setTexture(int id); - virtual void texturedRect(int x0,int y0,int x1,int y1); -protected: - int _drawPos[2]; - uchar _drawColor[3]; - uchar _drawTextColor[3]; -}; - -} - -#endif - diff --git a/utils/vgui/include/VGUI_TabPanel.h b/utils/vgui/include/VGUI_TabPanel.h deleted file mode 100644 index 64083e3..0000000 --- a/utils/vgui/include/VGUI_TabPanel.h +++ /dev/null @@ -1,49 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TABPANEL_H -#define VGUI_TABPANEL_H - -#include -#include - -namespace vgui -{ - -class ButtonGroup; - -class VGUIAPI TabPanel : public Panel -{ -public: - enum TabPlacement - { - tp_top=0, - tp_bottom, - tp_left, - tp_right, - }; -public: - TabPanel(int x,int y,int wide,int tall); -public: - virtual Panel* addTab(const char* text); - virtual void setSelectedTab(Panel* tab); - virtual void setSize(int wide,int tall); -protected: - virtual void recomputeLayoutTop(); - virtual void recomputeLayout(); -protected: - TabPlacement _tabPlacement; - Panel* _tabArea; - Panel* _clientArea; - Panel* _selectedTab; - Panel* _selectedPanel; - ButtonGroup* _buttonGroup; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_TablePanel.h b/utils/vgui/include/VGUI_TablePanel.h deleted file mode 100644 index 0e8b0e7..0000000 --- a/utils/vgui/include/VGUI_TablePanel.h +++ /dev/null @@ -1,71 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TABLEPANEL_H -#define VGUI_TABLEPANEL_H - -#include -#include -#include - -namespace vgui -{ - -class HeaderPanel; - -class VGUIAPI TablePanel : public Panel -{ -friend class FooVGuiTablePanelHandler; -private: - vgui::Dar _columnDar; - bool _gridVisible[2]; - int _gridWide; - int _gridTall; - int _selectedCell[2]; - int _mouseOverCell[2]; - int _editableCell[2]; - Panel* _fakeInputPanel; - bool _columnSelectionEnabled; - bool _rowSelectionEnabled; - bool _cellSelectionEnabled; - Panel* _editableCellPanel; - int _virtualSize[2]; - bool _cellEditingEnabled; -public: - TablePanel(int x,int y,int wide,int tall,int columnCount); -public: - virtual void setCellEditingEnabled(bool state); - virtual void setColumnCount(int columnCount); - virtual void setGridVisible(bool horizontal,bool vertical); - virtual void setGridSize(int gridWide,int gridTall); - virtual int getColumnCount(); - virtual void setColumnExtents(int column,int x0,int x1); - virtual void setSelectedCell(int column,int row); - virtual void getSelectedCell(int& column,int& row); - virtual void setHeaderPanel(HeaderPanel* header); - virtual void setColumnSelectionEnabled(bool state); - virtual void setRowSelectionEnabled(bool state); - virtual void setCellSectionEnabled(bool state); - virtual void setEditableCell(int column,int row); - virtual void stopCellEditing(); - virtual void getVirtualSize(int& wide,int& tall); - virtual int getRowCount()=0; - virtual int getCellTall(int row)=0; - virtual Panel* getCellRenderer(int column,int row,bool columnSelected,bool rowSelected,bool cellSelected)=0; - virtual Panel* startCellEditing(int column,int row)=0; -protected: - virtual void paint(); - virtual Panel* isWithinTraverse(int x,int y); -private: - virtual void privateMousePressed(MouseCode code,Panel* panel); - virtual void privateMouseDoublePressed(MouseCode code,Panel* panel); - virtual void privateKeyTyped(KeyCode code,Panel* panel); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_TaskBar.h b/utils/vgui/include/VGUI_TaskBar.h deleted file mode 100644 index 3fe62c5..0000000 --- a/utils/vgui/include/VGUI_TaskBar.h +++ /dev/null @@ -1,37 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TASKBAR_H -#define VGUI_TASKBAR_H - -#include -#include -#include - -namespace vgui -{ - -class Frame; -class Button; - -class VGUIAPI TaskBar : public Panel -{ -public: - TaskBar(int x,int y,int wide,int tall); -public: - virtual void addFrame(Frame* frame); -protected: - virtual void performLayout(); -protected: - Dar _frameDar; - Dar _taskButtonDar; - Panel* _tray; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_TextEntry.h b/utils/vgui/include/VGUI_TextEntry.h deleted file mode 100644 index 69ca712..0000000 --- a/utils/vgui/include/VGUI_TextEntry.h +++ /dev/null @@ -1,80 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TEXTENTRY_H -#define VGUI_TEXTENTRY_H - -#include -#include -#include - -namespace vgui -{ - -enum MouseCode; -enum KeyCode; -class ActionSignal; - -class VGUIAPI TextEntry : public Panel , public InputSignal -{ -public: - TextEntry(const char* text,int x,int y,int wide,int tall); -public: - virtual void setText(const char* text,int textLen); - virtual void getText(int offset,char* buf,int bufLen); - virtual void resetCursorBlink(); - virtual void doGotoLeft(); - virtual void doGotoRight(); - virtual void doGotoFirstOfLine(); - virtual void doGotoEndOfLine(); - virtual void doInsertChar(char ch); - virtual void doBackspace(); - virtual void doDelete(); - virtual void doSelectNone(); - virtual void doCopySelected(); - virtual void doPaste(); - virtual void doPasteSelected(); - virtual void doDeleteSelected(); - virtual void addActionSignal(ActionSignal* s); - virtual void setFont(Font* font); - virtual void setTextHidden(bool bHideText); -protected: - virtual void paintBackground(); - virtual void setCharAt(char ch,int index); -protected: - virtual void fireActionSignal(); - virtual bool getSelectedRange(int& cx0,int& cx1); - virtual bool getSelectedPixelRange(int& cx0,int& cx1); - virtual int cursorToPixelSpace(int cursorPos); - virtual void selectCheck(); -protected: //InputSignal - virtual void cursorMoved(int x,int y,Panel* panel); - virtual void cursorEntered(Panel* panel); - virtual void cursorExited(Panel* panel); - virtual void mousePressed(MouseCode code,Panel* panel); - virtual void mouseDoublePressed(MouseCode code,Panel* panel); - virtual void mouseReleased(MouseCode code,Panel* panel); - virtual void mouseWheeled(int delta,Panel* panel); - virtual void keyPressed(KeyCode code,Panel* panel); - virtual void keyTyped(KeyCode code,Panel* panel); - virtual void keyReleased(KeyCode code,Panel* panel); - virtual void keyFocusTicked(Panel* panel); -protected: - Dar _lineDar; - int _cursorPos; - bool _cursorBlink; - bool _hideText; - long _cursorNextBlinkTime; - int _cursorBlinkRate; - int _select[2]; - Dar _actionSignalDar; - Font* _font; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_TextGrid.h b/utils/vgui/include/VGUI_TextGrid.h deleted file mode 100644 index 972c01b..0000000 --- a/utils/vgui/include/VGUI_TextGrid.h +++ /dev/null @@ -1,42 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TEXTGRID_H -#define VGUI_TEXTGRID_H - -#include -#include -#include - -namespace vgui -{ - -class VGUIAPI TextGrid : public Panel -{ -public: - TextGrid(int gridWide,int gridTall,int x,int y,int wide,int tall); -public: - virtual void setGridSize(int wide,int tall); - virtual void newLine(); - virtual void setXY(int x,int y); - //virtual void setBgColor(int r,int g,int b); - //virtual void setFgColor(int r,int g,int b); - virtual int vprintf(const char* format,va_list argList); - virtual int printf(const char* format,...); -protected: - virtual void paintBackground(); -protected: - int _xy[2]; - int _bgColor[3]; - int _fgColor[3]; - char* _grid; //[_gridSize[0]*_gridSize[1]*7] ch,br,bg,bb,fr,fg,fb - int _gridSize[2]; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_TextImage.h b/utils/vgui/include/VGUI_TextImage.h deleted file mode 100644 index a6e2e76..0000000 --- a/utils/vgui/include/VGUI_TextImage.h +++ /dev/null @@ -1,58 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TEXTIMAGE_H -#define VGUI_TEXTIMAGE_H - -#include -#include -#include - - -//TODO: need to add wrapping flag instead of being arbitrary about when wrapping and auto-resizing actually happens -// This is probably why you are having problems if you had text in a constructor and then changed the font - -namespace vgui -{ - -class Panel; -class Font; -class App; - -class VGUIAPI TextImage : public Image -{ -private: - char* _text; - int _textBufferLen; - vgui::Scheme::SchemeFont _schemeFont; - vgui::Font* _font; - int _textColor[4]; - vgui::Scheme::SchemeColor _textSchemeColor; -public: - TextImage(int textBufferLen,const char* text); - TextImage(const char* text); -private: - virtual void init(int textBufferLen,const char* text); -public: - virtual void getTextSize(int& wide,int& tall); - virtual void getTextSizeWrapped(int& wide,int& tall); - virtual Font* getFont(); - virtual void setText(int textBufferLen,const char* text); - virtual void setText(const char* text); - virtual void setFont(vgui::Scheme::SchemeFont schemeFont); - virtual void setFont(vgui::Font* font); - virtual void setSize(int wide,int tall); -protected: - virtual void paint(Panel* panel); -}; - -} - -#endif - - - diff --git a/utils/vgui/include/VGUI_TextPanel.h b/utils/vgui/include/VGUI_TextPanel.h deleted file mode 100644 index afe9710..0000000 --- a/utils/vgui/include/VGUI_TextPanel.h +++ /dev/null @@ -1,46 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TEXTPANEL_H -#define VGUI_TEXTPANEL_H - -#include -#include -#include - -//NOTE : If you are having trouble with this class, your problem is probably in TextImage - -namespace vgui -{ - -class TextImage; -class Font; - -class VGUIAPI TextPanel : public Panel -{ -private: - TextImage* _textImage; -public: - TextPanel(const char* text,int x,int y,int wide,int tall); -public: - virtual void setText(const char* text); - virtual void setFont(vgui::Scheme::SchemeFont schemeFont); - virtual void setFont(vgui::Font* font); - virtual void setSize(int wide,int tall); - virtual void setFgColor(int r,int g,int b,int a); - virtual void setFgColor(Scheme::SchemeColor sc); - virtual TextImage* getTextImage(); -protected: - virtual void paint(); -}; - -} - -#endif - - - diff --git a/utils/vgui/include/VGUI_TickSignal.h b/utils/vgui/include/VGUI_TickSignal.h deleted file mode 100644 index c4bdb51..0000000 --- a/utils/vgui/include/VGUI_TickSignal.h +++ /dev/null @@ -1,22 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TICKSIGNAL_H -#define VGUI_TICKSIGNAL_H - -#include - -namespace vgui -{ -class VGUIAPI TickSignal - { - public: - virtual void ticked()=0; - }; -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_ToggleButton.h b/utils/vgui/include/VGUI_ToggleButton.h deleted file mode 100644 index b2d7d89..0000000 --- a/utils/vgui/include/VGUI_ToggleButton.h +++ /dev/null @@ -1,26 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TOGGLEBUTTON_H -#define VGUI_TOGGLEBUTTON_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI ToggleButton : public Button -{ -public: - ToggleButton(const char* text,int x,int y,int wide,int tall); - ToggleButton(const char* text,int x,int y); -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_TreeFolder.h b/utils/vgui/include/VGUI_TreeFolder.h deleted file mode 100644 index d23e1b9..0000000 --- a/utils/vgui/include/VGUI_TreeFolder.h +++ /dev/null @@ -1,36 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_TREEFOLDER_H -#define VGUI_TREEFOLDER_H - -#include -#include - -namespace vgui -{ - -class VGUIAPI TreeFolder : public Panel -{ -public: - TreeFolder(const char* name); - TreeFolder(const char* name,int x,int y); -protected: - virtual void init(const char* name); -public: - virtual void setOpenedTraverse(bool state); - virtual void setOpened(bool state); - virtual bool isOpened(); -protected: - virtual void paintBackground(); -protected: - bool _opened; -}; - -} - -#endif \ No newline at end of file diff --git a/utils/vgui/include/VGUI_WizardPanel.h b/utils/vgui/include/VGUI_WizardPanel.h deleted file mode 100644 index 1c453cd..0000000 --- a/utils/vgui/include/VGUI_WizardPanel.h +++ /dev/null @@ -1,146 +0,0 @@ -//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============ -// -// Purpose: -// -// $NoKeywords: $ -//============================================================================= - -#ifndef VGUI_WIZARDPANEL_H -#define VGUI_WIZARDPANEL_H - -#include -#include - -namespace vgui -{ - -class ActionSignal; - -class VGUIAPI WizardPanel : public Panel -{ - -public: - - class VGUIAPI WizardPage : public Panel - { - - friend class WizardPanel; - - private: - - WizardPage* _backWizardPage; - WizardPage* _nextWizardPage; - bool _backButtonEnabled; - bool _nextButtonEnabled; - bool _finishedButtonEnabled; - bool _cancelButtonEnabled; - bool _backButtonVisible; - bool _nextButtonVisible; - bool _finishedButtonVisible; - bool _cancelButtonVisible; - char* _backButtonText; - char* _nextButtonText; - char* _finishedButtonText; - char* _cancelButtonText; - Dar _switchingToBackPageSignalDar; - Dar _switchingToNextPageSignalDar; - char* _title; - Panel* _wantedFocus; - - private: - - virtual void fireSwitchingToBackPageSignals(); - virtual void fireSwitchingToNextPageSignals(); - virtual void init(); - - public: - - WizardPage(); - WizardPage(int wide,int tall); - - public: - - virtual void setBackWizardPage(WizardPage* backWizardPage); - virtual void setNextWizardPage(WizardPage* nextWizardPage); - virtual WizardPage* getBackWizardPage(); - virtual WizardPage* getNextWizardPage(); - - virtual bool isBackButtonEnabled(); - virtual bool isNextButtonEnabled(); - virtual bool isFinishedButtonEnabled(); - virtual bool isCancelButtonEnabled(); - virtual void setBackButtonEnabled(bool state); - virtual void setNextButtonEnabled(bool state); - virtual void setFinishedButtonEnabled(bool state); - virtual void setCancelButtonEnabled(bool state); - - virtual bool isBackButtonVisible(); - virtual bool isNextButtonVisible(); - virtual bool isFinishedButtonVisible(); - virtual bool isCancelButtonVisible(); - virtual void setBackButtonVisible(bool state); - virtual void setNextButtonVisible(bool state); - virtual void setFinishedButtonVisible(bool state); - virtual void setCancelButtonVisible(bool state); - - virtual void getBackButtonText(char* text,int textLen); - virtual void getNextButtonText(char* text,int textLen); - virtual void getFinishedButtonText(char* text,int textLen); - virtual void getCancelButtonText(char* text,int textLen); - virtual void setBackButtonText(const char* text); - virtual void setNextButtonText(const char* text); - virtual void setFinishedButtonText(const char* text); - virtual void setCancelButtonText(const char* text); - - virtual void setWantedFocus(Panel* panel); - virtual Panel* getWantedFocus(); - - virtual void addSwitchingToBackPageSignal(ActionSignal* s); - virtual void addSwitchingToNextPageSignal(ActionSignal* s); - - virtual void setTitle(const char* title); - virtual void getTitle(char* buf,int bufLen); - - }; - -private: - - Button* _backButton; - Button* _nextButton; - Button* _finishedButton; - Button* _cancelButton; - WizardPage* _currentWizardPage; - Dar _pageChangedActionSignalDar; - -private: - - virtual void fireFinishedActionSignal(); - virtual void fireCancelledActionSignal(); - virtual void firePageChangedActionSignal(); - -protected: - - virtual void performLayout(); - -public: - - WizardPanel(int x,int y,int wide,int tall); - -public: - - virtual void setCurrentWizardPage(WizardPage* currentWizardPage); - virtual void addFinishedActionSignal(ActionSignal* s); - virtual void addCancelledActionSignal(ActionSignal* s); - virtual void addPageChangedActionSignal(ActionSignal* s); - virtual void doBack(); - virtual void doNext(); - virtual void getCurrentWizardPageTitle(char* buf,int bufLen); - virtual WizardPage* getCurrentWizardPage(); - -}; - -} - - -#endif - diff --git a/utils/vgui/lib/win32_vc6/vgui.lib b/utils/vgui/lib/win32_vc6/vgui.lib deleted file mode 100644 index aff77160c68e81162d591b53579221dd23619ab5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416680 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%0A66cipk1 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