22 #include "precompiled.h"
42 : pixel(pixel), percent(percent)
86 const char* four_values =
87 "_[-_$arg(_minus)]$value[$arg(percent)%_[+_$value]_[-_$arg(_minus)$value]_]" "$arg(delim)"
88 "_[-_$arg(_minus)]$value[$arg(percent)%_[+_$value]_[-_$arg(_minus)$value]_]" "$arg(delim)"
89 "_[-_$arg(_minus)]$value[$arg(percent)%_[+_$value]_[-_$arg(_minus)$value]_]" "$arg(delim)"
90 "_[-_$arg(_minus)]$value[$arg(percent)%_[+_$value]_[-_$arg(_minus)$value]_]" "$arg(delim)"
100 int arg_count[4] = {0,0,0,0};
101 int arg_start[4] = {0,0,0,0};
104 for (
int i=0, valuenr=0; i<(int)line.
GetArgCount(); ++i)
120 arg_start[valuenr+1] = i+1;
121 arg_count[valuenr] = arg_start[valuenr+1] - arg_start[valuenr] - 1;
124 arg_count[3] = (int)line.
GetArgCount() - arg_start[valuenr] - 1;
140 float values[4][2] = {{0.f,0.f},{0.f,0.f},{0.f,0.f},{0.f,0.f}};
141 for (
int v=0; v<4; ++v)
143 if (arg_count[v] == 1)
152 if (arg_count[v] == 2)
158 if (arg_count[v] == 3)
160 if (!line.
GetArgFloat(arg_start[v], values[v][0]) ||
float left
Returning CPos representing each corner.
bool GetArgFloat(size_t arg, float &ret)
CRect pixel
Pixel modifiers.
CRect percent
Percent modifiers.
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
bool SetClientArea(const CStr &Value)
The ClientArea can be set from a string looking like:
CRect GetClientArea(const CRect &parent) const
Get client area rectangle when the parent is given.
bool ParseString(const CParser &parser, const std::string &line)
bool GetArgString(size_t arg, std::string &ret)
static CParser & Get(const char *str)
size_t GetArgCount() const
Rectangle class used for screen rectangles.