47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
/*
|
|
* FillLayout
|
|
*/
|
|
|
|
#ifndef DUI_FILLLAYOUT_H_INCLUDED
|
|
#define DUI_FILLLAYOUT_H_INCLUDED
|
|
|
|
#pragma once
|
|
|
|
namespace DirectUI
|
|
{
|
|
|
|
// FillLayout positions
|
|
// "Auto (-1)" means stretch to size of parent
|
|
// All other layout positions describe a limited type of stretch
|
|
// (i.e. "left" means stretch all edges to parent except right edge)
|
|
#define FLP_Left 0
|
|
#define FLP_Top 1
|
|
#define FLP_Right 2
|
|
#define FLP_Bottom 3
|
|
|
|
////////////////////////////////////////////////////////
|
|
// FillLayout
|
|
|
|
class FillLayout : public Layout
|
|
{
|
|
public:
|
|
static HRESULT Create(int dNumParams, int* pParams, OUT Value** ppValue); // For parser
|
|
static HRESULT Create(OUT Layout** ppLayout);
|
|
|
|
// Layout callbacks
|
|
virtual void DoLayout(Element* pec, int dWidth, int dHeight);
|
|
virtual SIZE UpdateDesiredSize(Element* pec, int dConstW, int dConstH, Surface* psrf);
|
|
virtual Element* GetAdjacent(Element* pec, Element* peFrom, int iNavDir, NavReference const* pnr, bool bKeyableOnly);
|
|
|
|
FillLayout() { };
|
|
void Initialize();
|
|
virtual ~FillLayout() { };
|
|
|
|
private:
|
|
RECT rcMargin;
|
|
};
|
|
|
|
} // namespace DirectUI
|
|
|
|
#endif // DUI_FILLLAYOUT_H_INCLUDED
|