mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 00:59:44 -06:00
Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
191
Externals/wxWidgets3/include/wx/layout.h
vendored
Normal file
191
Externals/wxWidgets3/include/wx/layout.h
vendored
Normal file
@ -0,0 +1,191 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/layout.h
|
||||
// Purpose: OBSOLETE layout constraint classes, use sizers instead
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 29/01/98
|
||||
// RCS-ID: $Id: layout.h 52834 2008-03-26 15:06:00Z FM $
|
||||
// Copyright: (c) 1998 Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_LAYOUT_H_
|
||||
#define _WX_LAYOUT_H_
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#include "wx/object.h"
|
||||
|
||||
// X stupidly defines these in X.h
|
||||
#ifdef Above
|
||||
#undef Above
|
||||
#endif
|
||||
#ifdef Below
|
||||
#undef Below
|
||||
#endif
|
||||
|
||||
#if wxUSE_CONSTRAINTS
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// forward declrations
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxWindowBase;
|
||||
class WXDLLIMPEXP_FWD_CORE wxLayoutConstraints;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define wxLAYOUT_DEFAULT_MARGIN 0
|
||||
|
||||
enum wxEdge
|
||||
{
|
||||
wxLeft, wxTop, wxRight, wxBottom, wxWidth, wxHeight,
|
||||
wxCentre, wxCenter = wxCentre, wxCentreX, wxCentreY
|
||||
};
|
||||
|
||||
enum wxRelationship
|
||||
{
|
||||
wxUnconstrained = 0,
|
||||
wxAsIs,
|
||||
wxPercentOf,
|
||||
wxAbove,
|
||||
wxBelow,
|
||||
wxLeftOf,
|
||||
wxRightOf,
|
||||
wxSameAs,
|
||||
wxAbsolute
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxIndividualLayoutConstraint: a constraint on window position
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxIndividualLayoutConstraint : public wxObject
|
||||
{
|
||||
public:
|
||||
wxIndividualLayoutConstraint();
|
||||
|
||||
// note that default copy ctor and assignment operators are ok
|
||||
|
||||
virtual ~wxIndividualLayoutConstraint(){}
|
||||
|
||||
void Set(wxRelationship rel, wxWindowBase *otherW, wxEdge otherE, int val = 0, int marg = wxLAYOUT_DEFAULT_MARGIN);
|
||||
|
||||
//
|
||||
// Sibling relationships
|
||||
//
|
||||
void LeftOf(wxWindowBase *sibling, int marg = wxLAYOUT_DEFAULT_MARGIN);
|
||||
void RightOf(wxWindowBase *sibling, int marg = wxLAYOUT_DEFAULT_MARGIN);
|
||||
void Above(wxWindowBase *sibling, int marg = wxLAYOUT_DEFAULT_MARGIN);
|
||||
void Below(wxWindowBase *sibling, int marg = wxLAYOUT_DEFAULT_MARGIN);
|
||||
|
||||
//
|
||||
// 'Same edge' alignment
|
||||
//
|
||||
void SameAs(wxWindowBase *otherW, wxEdge edge, int marg = wxLAYOUT_DEFAULT_MARGIN);
|
||||
|
||||
// The edge is a percentage of the other window's edge
|
||||
void PercentOf(wxWindowBase *otherW, wxEdge wh, int per);
|
||||
|
||||
//
|
||||
// Edge has absolute value
|
||||
//
|
||||
void Absolute(int val);
|
||||
|
||||
//
|
||||
// Dimension is unconstrained
|
||||
//
|
||||
void Unconstrained() { relationship = wxUnconstrained; }
|
||||
|
||||
//
|
||||
// Dimension is 'as is' (use current size settings)
|
||||
//
|
||||
void AsIs() { relationship = wxAsIs; }
|
||||
|
||||
//
|
||||
// Accessors
|
||||
//
|
||||
wxWindowBase *GetOtherWindow() { return otherWin; }
|
||||
wxEdge GetMyEdge() const { return myEdge; }
|
||||
void SetEdge(wxEdge which) { myEdge = which; }
|
||||
void SetValue(int v) { value = v; }
|
||||
int GetMargin() { return margin; }
|
||||
void SetMargin(int m) { margin = m; }
|
||||
int GetValue() const { return value; }
|
||||
int GetPercent() const { return percent; }
|
||||
int GetOtherEdge() const { return otherEdge; }
|
||||
bool GetDone() const { return done; }
|
||||
void SetDone(bool d) { done = d; }
|
||||
wxRelationship GetRelationship() { return relationship; }
|
||||
void SetRelationship(wxRelationship r) { relationship = r; }
|
||||
|
||||
// Reset constraint if it mentions otherWin
|
||||
bool ResetIfWin(wxWindowBase *otherW);
|
||||
|
||||
// Try to satisfy constraint
|
||||
bool SatisfyConstraint(wxLayoutConstraints *constraints, wxWindowBase *win);
|
||||
|
||||
// Get the value of this edge or dimension, or if this
|
||||
// is not determinable, -1.
|
||||
int GetEdge(wxEdge which, wxWindowBase *thisWin, wxWindowBase *other) const;
|
||||
|
||||
protected:
|
||||
// To be allowed to modify the internal variables
|
||||
friend class wxIndividualLayoutConstraint_Serialize;
|
||||
|
||||
// 'This' window is the parent or sibling of otherWin
|
||||
wxWindowBase *otherWin;
|
||||
|
||||
wxEdge myEdge;
|
||||
wxRelationship relationship;
|
||||
int margin;
|
||||
int value;
|
||||
int percent;
|
||||
wxEdge otherEdge;
|
||||
bool done;
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxIndividualLayoutConstraint)
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxLayoutConstraints: the complete set of constraints for a window
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxLayoutConstraints : public wxObject
|
||||
{
|
||||
public:
|
||||
// Edge constraints
|
||||
wxIndividualLayoutConstraint left;
|
||||
wxIndividualLayoutConstraint top;
|
||||
wxIndividualLayoutConstraint right;
|
||||
wxIndividualLayoutConstraint bottom;
|
||||
// Size constraints
|
||||
wxIndividualLayoutConstraint width;
|
||||
wxIndividualLayoutConstraint height;
|
||||
// Centre constraints
|
||||
wxIndividualLayoutConstraint centreX;
|
||||
wxIndividualLayoutConstraint centreY;
|
||||
|
||||
wxLayoutConstraints();
|
||||
|
||||
// note that default copy ctor and assignment operators are ok
|
||||
|
||||
virtual ~wxLayoutConstraints(){}
|
||||
|
||||
bool SatisfyConstraints(wxWindowBase *win, int *noChanges);
|
||||
bool AreSatisfied() const
|
||||
{
|
||||
return left.GetDone() && top.GetDone() &&
|
||||
width.GetDone() && height.GetDone();
|
||||
}
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxLayoutConstraints)
|
||||
};
|
||||
|
||||
#endif // wxUSE_CONSTRAINTS
|
||||
|
||||
#endif // _WX_LAYOUT_H_
|
Reference in New Issue
Block a user