windows-nt/Source/XPSP1/NT/public/internal/windows/inc/duser/duifilllayout.h
2020-09-26 16:20:57 +08:00

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