1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
// ----------------------------------------------------------------------
// centerlayer.m
// ----------------------------------------------------------------------
// by Brennan
// Use like this :
// #define CENTER_VAR MyVar
// Global MyVar;
// #include "centerlayer.h"
// Group l = ;
// MyVar = l.getObject("something");
// _MyVarInit(Layer MyVar, Group l, int centerx, int centery);
// ----------------------------------------------------------------------
Global GuiObject _##CENTER_VAR##Layer;
Global Group _##CENTER_VAR##Group; // parent Layout to center in
Global Int _##CENTER_VAR##centerx; // should we center x?
Global Int _##CENTER_VAR##centery; // should we center y?
Global Int _##CENTER_VAR##addx = 0;
Global Int _##CENTER_VAR##addy = 0;
Global Int _##CENTER_VAR##addh = 0;
Global Int _##CENTER_VAR##addw = 0;
Function _##CENTER_VAR##Init(GuiObject _layer, Group parentLayout, int centerx, int centery);
Function _##CENTER_VAR##handleResize();
Function _##CENTER_VAR##setXSpace(int val);
Function _##CENTER_VAR##setYSpace(int val);
Function _##CENTER_VAR##setWSpace(int val);
Function _##CENTER_VAR##setHSpace(int val);
Function _##CENTER_VAR##sizeError(boolean iserror);
_##CENTER_VAR##Init(GuiObject _layer, Group parentLayout, int centerx, int centery) {
_##CENTER_VAR##Layer = _layer;
_##CENTER_VAR##Group = parentLayout;
_##CENTER_VAR##centerx = centerx;
_##CENTER_VAR##centery = centery;
_##CENTER_VAR##handleResize();
}
_##CENTER_VAR##setXSpace(int val)
{
_##CENTER_VAR##addx = val;
}
_##CENTER_VAR##setYSpace(int val)
{
_##CENTER_VAR##addy = val;
}
_##CENTER_VAR##setHSpace(int val)
{
_##CENTER_VAR##addh = val;
}
_##CENTER_VAR##setWSpace(int val)
{
_##CENTER_VAR##addw = val;
}
_##CENTER_VAR##handleResize() {
int myw = _##CENTER_VAR##Group.getWidth();
int myh = _##CENTER_VAR##Group.getHeight();
int layerw = _##CENTER_VAR##Layer.getWidth();
int layerh = _##CENTER_VAR##Layer.getHeight();
int x = _##CENTER_VAR##Layer.getLeft();
int y = _##CENTER_VAR##Layer.getTop();
if (_##CENTER_VAR##centerx) _##CENTER_VAR##Layer.setXmlParam("x", integerToString((myw - layerw)/2 + _##CENTER_VAR##addx + _##CENTER_VAR##addw));
if (_##CENTER_VAR##centery) _##CENTER_VAR##Layer.setXmlParam("y", integerToString((myh - layerh)/2 + _##CENTER_VAR##addy + _##CENTER_VAR##addh));
if (myw < layerw + 2*_##CENTER_VAR##addx - _##CENTER_VAR##addw || myh < layerh + _##CENTER_VAR##addy - _##CENTER_VAR##addh)
{
_##CENTER_VAR##sizeError(TRUE);
}
else
{
_##CENTER_VAR##sizeError(FALSE);
}
}
_##CENTER_VAR##sizeError(boolean iserror) {}
_##CENTER_VAR##Group.onResize(int x, int y, int w, int h) {
_##CENTER_VAR##handleResize();
}
|