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:
77
examples/ThirdPartyLibs/Gwen/Controls/DockBase.h
Normal file
77
examples/ThirdPartyLibs/Gwen/Controls/DockBase.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
GWEN
|
||||
Copyright (c) 2010 Facepunch Studios
|
||||
See license in Gwen.h
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef GWEN_CONTROLS_DOCKBASE_H
|
||||
#define GWEN_CONTROLS_DOCKBASE_H
|
||||
|
||||
#include "Gwen/Controls/Base.h"
|
||||
#include "Gwen/Controls/Button.h"
|
||||
|
||||
namespace Gwen
|
||||
{
|
||||
namespace Controls
|
||||
{
|
||||
class DockedTabControl;
|
||||
class TabControl;
|
||||
|
||||
class GWEN_EXPORT DockBase : public Base
|
||||
{
|
||||
public:
|
||||
|
||||
GWEN_CONTROL( DockBase, Base );
|
||||
|
||||
virtual void Render( Skin::Base* skin );
|
||||
virtual void RenderOver( Skin::Base* skin );
|
||||
virtual bool IsEmpty();
|
||||
|
||||
virtual TabControl* GetTabControl();
|
||||
|
||||
virtual DockBase* GetRight(){ return GetChildDock( Pos::Right ); }
|
||||
virtual DockBase* GetLeft(){ return GetChildDock( Pos::Left ); }
|
||||
virtual DockBase* GetTop(){ return GetChildDock( Pos::Top ); }
|
||||
virtual DockBase* GetBottom(){ return GetChildDock( Pos::Bottom ); }
|
||||
|
||||
// No action on space (default button action is to press)
|
||||
virtual bool OnKeySpace( bool /*bDown*/ ){ return false; }
|
||||
|
||||
private:
|
||||
|
||||
// Drag n Drop
|
||||
virtual bool DragAndDrop_HandleDrop( Gwen::DragAndDrop::Package* pPackage, int x, int y );
|
||||
virtual bool DragAndDrop_CanAcceptPackage( Gwen::DragAndDrop::Package* pPackage );
|
||||
virtual void DragAndDrop_HoverEnter( Gwen::DragAndDrop::Package* pPackage, int x, int y );
|
||||
virtual void DragAndDrop_HoverLeave( Gwen::DragAndDrop::Package* pPackage );
|
||||
virtual void DragAndDrop_Hover( Gwen::DragAndDrop::Package* pPackage, int x, int y );
|
||||
|
||||
virtual void SetupChildDock( int iPos );
|
||||
|
||||
virtual void DoRedundancyCheck();
|
||||
virtual void DoConsolidateCheck();
|
||||
virtual void OnRedundantChildDock( DockBase* pDockBase );
|
||||
|
||||
virtual int GetDroppedTabDirection( int x, int y );
|
||||
virtual void OnTabRemoved( Gwen::Controls::Base* pControl );
|
||||
|
||||
DockBase* GetChildDock( int iPos );
|
||||
DockBase** GetChildDockPtr( int iPos );
|
||||
|
||||
DockBase* m_Left;
|
||||
DockBase* m_Right;
|
||||
DockBase* m_Top;
|
||||
DockBase* m_Bottom;
|
||||
|
||||
// Only CHILD dockpanels have a tabcontrol.
|
||||
DockedTabControl* m_DockedTabControl;
|
||||
|
||||
bool m_bDrawHover;
|
||||
bool m_bDropFar;
|
||||
Gwen::Rect m_HoverRect;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user