add initial examples, replacing the 'Demos/Demos3'. Will make it work cross-platform, OpenGL3/OpenGL2 and add more examples to it.
This commit is contained in:
90
examples/ThirdPartyLibs/Gwen/Controls/Button.h
Normal file
90
examples/ThirdPartyLibs/Gwen/Controls/Button.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
GWEN
|
||||
Copyright (c) 2010 Facepunch Studios
|
||||
See license in Gwen.h
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef GWEN_CONTROLS_BUTTON_H
|
||||
#define GWEN_CONTROLS_BUTTON_H
|
||||
|
||||
#include "Gwen/TextObject.h"
|
||||
#include "Gwen/Controls/Base.h"
|
||||
#include "Gwen/Controls/Label.h"
|
||||
|
||||
namespace Gwen
|
||||
{
|
||||
namespace Controls
|
||||
{
|
||||
class ImagePanel;
|
||||
|
||||
class GWEN_EXPORT Button : public Label
|
||||
{
|
||||
public:
|
||||
|
||||
GWEN_CONTROL( Button, Label );
|
||||
|
||||
virtual void Render( Skin::Base* skin );
|
||||
virtual void OnMouseClickLeft( int x, int y, bool bDown );
|
||||
virtual void OnMouseDoubleClickLeft( int x, int y );
|
||||
virtual bool OnKeySpace( bool bDown );
|
||||
|
||||
virtual void OnPress();
|
||||
|
||||
virtual void AcceleratePressed();
|
||||
|
||||
virtual bool IsDepressed() const { return m_bDepressed; }
|
||||
|
||||
//
|
||||
// Buttons can be toggle type, which means that it is
|
||||
// toggled on and off. Its toggle status is in IsDepressed.
|
||||
//
|
||||
virtual void SetIsToggle( bool b ){ m_bToggle = b; }
|
||||
virtual bool IsToggle() const { return m_bToggle; }
|
||||
virtual bool GetToggleState() const { return m_bToggleStatus; }
|
||||
virtual void SetToggleState( bool b );
|
||||
virtual void Toggle(){ SetToggleState( !GetToggleState() ); }
|
||||
|
||||
|
||||
virtual void SetImage( const TextObject& strName, bool bCenter = false );
|
||||
|
||||
// You can use this to trigger OnPress directly from other controls using GWEN_CALL_EX
|
||||
virtual void ReceiveEventPress( Base* /*pControl*/ )
|
||||
{
|
||||
OnPress();
|
||||
}
|
||||
|
||||
virtual void SizeToContents();
|
||||
virtual void Layout( Skin::Base* pSkin );
|
||||
|
||||
virtual bool OnKeyReturn(bool bDown)
|
||||
{
|
||||
onKeyboardReturn.Call(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
Gwen::Event::Caller onPress;
|
||||
Gwen::Event::Caller onDown;
|
||||
Gwen::Event::Caller onUp;
|
||||
Gwen::Event::Caller onDoubleClick;
|
||||
Gwen::Event::Caller onKeyboardReturn;
|
||||
|
||||
Gwen::Event::Caller onToggle;
|
||||
Gwen::Event::Caller onToggleOn;
|
||||
Gwen::Event::Caller onToggleOff;
|
||||
|
||||
protected:
|
||||
|
||||
ImagePanel* m_Image;
|
||||
|
||||
bool m_bDepressed;
|
||||
bool m_bToggle;
|
||||
bool m_bToggleStatus;
|
||||
|
||||
bool m_bCenterImage;
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user