パネル。
テーブルみたいなんを作りたかったけどLineとかTansu使えば補完できたのでもはややる気なっしんぐ。
class PanelException: etc.negui.layout.layout.LayoutException;
enum DIRECTION;
struct CONTENT;
enum TYPE;
TYPE type;
void* None;
何にも保持してない。
なんとなく共用体。後悔してる。
- History:
- 1.030
- 1.00β18
- sourcedockがあまりにも不憫だったので介錯。
NeGui gui;
内部コントロール。将来的にControlに置き換えたい。
なんとなく共用体。後悔してる。
- History:
- 1.030
- 1.00β18
- sourcedockがあまりにも不憫だったので介錯。
Panel panel;
内部パネル。
なんとなく共用体。後悔してる。
- History:
- 1.030
- 1.00β18
- sourcedockがあまりにも不憫だったので介錯。
void set(NeGui gui
, Panel panel
);
package void onSize(ref const(RECT) ContentSize
);
サイズ変更を実行。
Layout.onSizeでLayout.Contentsから呼び出す。
TYPE.PANELはpanelに任せてTYPE.GUIの処理を行う。
- Params:
- const(RECT) ContentSize
- 自身が使用できる領域。
Layout.onSizeと違い、こちらはpadding, marginが考慮されたコンテンツ領域。
margin等の計算はLayout.onSizeで行う。
struct SIZEINFO;
enum TYPE;
TYPE type;
const int absolute();
int absolute(int Absolute
);
const real percent();
real percent(real Percent
);
abstract class Panel: etc.negui.layout.layout.Layout;
const size_t length();
void length(in size_t Length
);
const CONTENT opIndex(in size_t Index
);
void opIndexAssign(CONTENT Content
, in size_t Index
);
void opIndexAssign(NeGui gui
, in size_t Index
);
void opIndexAssign(Panel panel
, in size_t Index
);
void opAddAssign(CONTENT Content
);
void opAddAssign(NeGui gui
);
void opAddAssign(Panel panel
);
void opAddAssign(PANEL_SPACE);
const NeGui gui(in size_t Index
);
const Panel panel(in size_t Index
);
protected final RECT GetInPaddingSize(ref const(RECT) TotalSize
);
protected final RECT GetContentSize(ref const(RECT) InPaddingSize
);
protected const final size_t GetTotalPaddingSize(in DIRECTION Direction
, ref const RECT InPaddingSize
);
abstract interface IDirection;
template TDirection()
int GetElemntSize(in DIRECTION Direction
, ref const(SIZEINFO) SizeInfo
, ref const(RECT) InPaddingSize
);