diff options
Diffstat (limited to 'utils/vgui_panel_zoo/ImageDemo.cpp')
| -rw-r--r-- | utils/vgui_panel_zoo/ImageDemo.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/utils/vgui_panel_zoo/ImageDemo.cpp b/utils/vgui_panel_zoo/ImageDemo.cpp new file mode 100644 index 0000000..3b6ac99 --- /dev/null +++ b/utils/vgui_panel_zoo/ImageDemo.cpp @@ -0,0 +1,79 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#include "DemoPage.h" + +#include "vgui/IVGui.h" +#include "vgui_controls/Controls.h" +#include <vgui/IScheme.h> +#include <vgui/IImage.h> + +using namespace vgui; + +//----------------------------------------------------------------------------- +// An Image is an class that handles drawing of a tga image +// They are not panels. +//----------------------------------------------------------------------------- +class ImageDemo: public DemoPage +{ + typedef DemoPage BaseClass; + +public: + ImageDemo(Panel *parent, const char *name); + ~ImageDemo(); + + virtual void ApplySchemeSettings(IScheme *pScheme); + virtual void Paint(); + +private: + IImage *m_pImage; +}; + +//----------------------------------------------------------------------------- +// Purpose: Constructor +//----------------------------------------------------------------------------- +ImageDemo::ImageDemo(Panel *parent, const char *name) : DemoPage(parent, name) +{ + // now insert an image + m_pImage = NULL; +} + +//----------------------------------------------------------------------------- +// Purpose: Destructor +//----------------------------------------------------------------------------- +ImageDemo::~ImageDemo() +{ +} + +//----------------------------------------------------------------------------- +// Scheme settings +//----------------------------------------------------------------------------- +void ImageDemo::ApplySchemeSettings(IScheme *pScheme) +{ + BaseClass::ApplySchemeSettings( pScheme ); + + // now insert an image + m_pImage = scheme()->GetImage("Resource/valve_logo", false); +} + +//----------------------------------------------------------------------------- +// Purpose: Paint the image on screen. Images are not panels, +// You must call the Paint method explicitly for them. +// and set thier position in the frame every time you draw them. +//----------------------------------------------------------------------------- +void ImageDemo::Paint() +{ + m_pImage->SetPos(100, 100); + m_pImage->Paint(); +} + + +Panel* ImageDemo_Create(Panel *parent) +{ + return new ImageDemo(parent, "ImageDemo"); +} + |