mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
Documentation update
git-svn-id: svn://ultimatepp.org/upp/trunk@1986 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
4775471c45
commit
8264fa0f0c
28 changed files with 1397 additions and 1156 deletions
|
|
@ -9,451 +9,445 @@ topic "CParser";
|
|||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 CParser]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:CParser`:`:class:%- [@(0.0.255) class]_[* CParser]&]
|
||||
[s0; &]
|
||||
[s0; CParser is simple yet very useful lexical analyzer suitable
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 CParser]]}}&]
|
||||
[s3; &]
|
||||
[s1;:CParser`:`:class: [@(0.0.255) class]_[* CParser]&]
|
||||
[s9;%% CParser is simple yet very useful lexical analyzer suitable
|
||||
for building descent parsers of languages with C`-like syntax.&]
|
||||
[s0; &]
|
||||
[s0; CParser works on `'`\0`' terminated text in memory (not Stream),
|
||||
[s9;%% CParser works on `'`\0`' terminated text in memory (not Stream),
|
||||
so to parse the file you have to load it into the memory first.
|
||||
Text has to exist during the time it is processed by CParser
|
||||
(no copy is made).&]
|
||||
[s0; &]
|
||||
[s0; Many CParser methods can throw CParser`::Error exception to indicate
|
||||
the failure to parse required symbol. When using CParser to build
|
||||
concrete parser, it is common to use this exception (preferably
|
||||
via ThrowError method) to indicate errors as well.&]
|
||||
[s0; &]
|
||||
[s0; CParser objects cannot be transfered (copied).&]
|
||||
[s9;%% Many CParser methods can throw CParser`::Error exception to
|
||||
indicate the failure to parse required symbol. When using CParser
|
||||
to build concrete parser, it is common to use this exception
|
||||
(preferably via ThrowError method) to indicate errors as well.&]
|
||||
[s9;%% CParser objects cannot be transfered (copied).&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:CParser`:`:CParser`(const char`*`): [* CParser]([@(0.0.255) const]_[@(0.0.255) char]_`*
|
||||
[*@3 ptr])&]
|
||||
[s2; [%% Constructs the ][%%* CParser ][%% which can parse input buffer
|
||||
][*@3 ptr].&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:CParser`(const char`*`,const char`*`,int`): [* CParser]([@(0.0.255) const
|
||||
]_[@(0.0.255) char]_`*[*@3 ptr], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 fn],
|
||||
[@(0.0.255) int]_[*@3 line]_`=_[@3 1])&]
|
||||
[s2;%% Constructs the [* CParser], with additional information for
|
||||
the text. The additional info can be used when reporting error.&]
|
||||
[s7;%% [%-*C@3 ptr]-|Pointer to the input text.&]
|
||||
[s7;%% [%-*C@3 fn]-|The name of file (in fact, can be anything, value
|
||||
is just stored).&]
|
||||
[s7;%% [%-*C@3 line]-|First line number.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:CParser`(`): [* CParser]()&]
|
||||
[s2;%% Constructs the [* CParser]. Input text has to be assigned using
|
||||
the [* SetPos ]method.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:CParser`:`:CParser`(const char`*`):%- [* CParser]([@(0.0.255) const]_[@(0.0.255) char]_
|
||||
`*[*@3 ptr])&]
|
||||
[s2;%- [%% Constructs the ][%%* CParser ][%% which can parse input buffer
|
||||
][*@3 ptr].&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:CParser`(const char`*`,const char`*`,int`):%- [* CParser]([@(0.0.255) con
|
||||
st]_[@(0.0.255) char]_`*[*@3 ptr], [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 fn],
|
||||
[@(0.0.255) int]_[*@3 line]_`=_[@3 1])&]
|
||||
[s2; Constructs the [* CParser], with additional information for the
|
||||
text. The additional info can be used when reporting error.&]
|
||||
[s7; [%-*C@3 ptr]-|Pointer to the input text.&]
|
||||
[s7; [%-*C@3 fn]-|The name of file (in fact, can be anything, value
|
||||
is just stored).&]
|
||||
[s7; [%-*C@3 line]-|First line number.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:CParser`(`):%- [* CParser]()&]
|
||||
[s2; Constructs the [* CParser]. Input text has to be assigned using
|
||||
the [* SetPos ]method.&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:CParser`:`:ThrowError`(const char`*`):%- [@(0.0.255) void]_[* ThrowError]([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[*@3 s])&]
|
||||
[s2; Throws [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ CParse
|
||||
r`::Error] with the error message [%-*@3 s].&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:NoSkipSpaces`(`):%- [@(0.0.255) void]_[* NoSkipSpaces]()&]
|
||||
[s2; Sets [* CParser ]to the mode where white`-spaces are not automatically
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:CParser`:`:ThrowError`(const char`*`): [@(0.0.255) void]_[* ThrowError]([@(0.0.255) co
|
||||
nst]_[@(0.0.255) char]_`*[*@3 s])&]
|
||||
[s2;%% Throws [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ CPar
|
||||
ser`::Error] with the error message [%-*@3 s].&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:NoSkipSpaces`(`): [@(0.0.255) void]_[* NoSkipSpaces]()&]
|
||||
[s2;%% Sets [* CParser ]to the mode where white`-spaces are not automatically
|
||||
skipped, but have to be skipped by [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Spaces`(`)^ S
|
||||
paces][* ]method.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:SkipSpaces`(`):%- [@(0.0.255) void]_[* SkipSpaces]()&]
|
||||
[s2; Sets [* CParser ]to the mode where white`-spaces are automatically
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:SkipSpaces`(`): [@(0.0.255) void]_[* SkipSpaces]()&]
|
||||
[s2;%% Sets [* CParser ]to the mode where white`-spaces are automatically
|
||||
skipped. First skip is performed when position in input text
|
||||
is assigned via constructor or [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:SetPos`(const CParser`:`:Pos`&`)^ S
|
||||
etPos], then the skip is performed after any symbol.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Spaces`(`):%- [@(0.0.255) bool]_[* Spaces]()&]
|
||||
[s2; Skips white`-spaces. Returns [* true] if there were white`-space
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Spaces`(`): [@(0.0.255) bool]_[* Spaces]()&]
|
||||
[s2;%% Skips white`-spaces. Returns [* true] if there were white`-space
|
||||
to skip, [* false] otherwise.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:PeekChar`(`):%- [@(0.0.255) char]_[* PeekChar]()&]
|
||||
[s2; Returns the current single character.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:GetChar`(`):%- [@(0.0.255) char]_[* GetChar]()&]
|
||||
[s2; Advances the position in the input text by one character and
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:PeekChar`(`): [@(0.0.255) char]_[* PeekChar]()&]
|
||||
[s2;%% Returns the current single character.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:GetChar`(`): [@(0.0.255) char]_[* GetChar]()&]
|
||||
[s2;%% Advances the position in the input text by one character and
|
||||
returns the character at the position before advancing.&]
|
||||
[s7; [*/ Return value]-|Character at position before advancing it.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsChar`(char`):%- [@(0.0.255) bool]_[* IsChar]([@(0.0.255) char]_[*@3 c])&]
|
||||
[s2; Tests whether there is a specific character [%-*@3 c ]at the current
|
||||
position.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsChar2`(char`,char`):%- [@(0.0.255) bool]_[* IsChar2]([@(0.0.255) char]_[*@3 c
|
||||
[s7;%% [*/ Return value]-|Character at position before advancing it.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsChar`(char`): [@(0.0.255) bool]_[* IsChar]([@(0.0.255) char]_[*@3 c])&]
|
||||
[s2;%% Tests whether there is a specific character [%-*@3 c ]at the
|
||||
current position.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsChar2`(char`,char`): [@(0.0.255) bool]_[* IsChar2]([@(0.0.255) char]_[*@3 c
|
||||
1], [@(0.0.255) char]_[*@3 c2])&]
|
||||
[s2; Tests whether there is a specific character pair ([%-*@3 c1],
|
||||
[s2;%% Tests whether there is a specific character pair ([%-*@3 c1],
|
||||
[%-*@3 c2]) at the current position.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsChar3`(char`,char`,char`):%- [@(0.0.255) bool]_[* IsChar3]([@(0.0.255) ch
|
||||
ar]_[*@3 c1], [@(0.0.255) char]_[*@3 c2], [@(0.0.255) char]_[*@3 c3])&]
|
||||
[s2; Test for a specific character triplet ([%-*@3 c1], [%-*@3 c2], [%-*@3 c3])
|
||||
at the current position.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Char`(char`):%- [@(0.0.255) bool]_[* Char]([@(0.0.255) char]_[*@3 c])&]
|
||||
[s2; Tests for a single character [%-*@3 c] at the current position.
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsChar3`(char`,char`,char`): [@(0.0.255) bool]_[* IsChar3]([@(0.0.255) char
|
||||
]_[*@3 c1], [@(0.0.255) char]_[*@3 c2], [@(0.0.255) char]_[*@3 c3])&]
|
||||
[s2;%% Test for a specific character triplet ([%-*@3 c1], [%-*@3 c2],
|
||||
[%-*@3 c3]) at the current position.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Char`(char`): [@(0.0.255) bool]_[* Char]([@(0.0.255) char]_[*@3 c])&]
|
||||
[s2;%% Tests for a single character [%-*@3 c] at the current position.
|
||||
If there is match, position is advanced and [* true] is returned.
|
||||
If no match is found position remains unmodified and [* false]
|
||||
is returned.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Char2`(char`,char`):%- [@(0.0.255) bool]_[* Char2]([@(0.0.255) char]_[*@3 c1],
|
||||
[@(0.0.255) char]_[*@3 c2])&]
|
||||
[s2; Tests for a character pair ([%-*@3 c1], [%-*@3 c2]) at the current
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Char2`(char`,char`): [@(0.0.255) bool]_[* Char2]([@(0.0.255) char]_[*@3 c1],
|
||||
[@(0.0.255) char]_[*@3 c2])&]
|
||||
[s2;%% Tests for a character pair ([%-*@3 c1], [%-*@3 c2]) at the current
|
||||
position. If there is match, position is advanced by two characters
|
||||
and [* true] is returned. If no match is found position remains
|
||||
unmodified and [* false] is returned.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Char3`(char`,char`,char`):%- [@(0.0.255) bool]_[* Char3]([@(0.0.255) char]_
|
||||
[*@3 c1], [@(0.0.255) char]_[*@3 c2], [@(0.0.255) char]_[*@3 c3])&]
|
||||
[s2; Tests for a character triplet ([%-*@3 c1], [%-*@3 c2], [%-*@3 c3])
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Char3`(char`,char`,char`): [@(0.0.255) bool]_[* Char3]([@(0.0.255) char]_[*@3 c
|
||||
1], [@(0.0.255) char]_[*@3 c2], [@(0.0.255) char]_[*@3 c3])&]
|
||||
[s2;%% Tests for a character triplet ([%-*@3 c1], [%-*@3 c2], [%-*@3 c3])
|
||||
at the current position. If there is match, position is advanced
|
||||
by three characters and [* true] is returned. If no match is found
|
||||
position remains unmodified and [* false] is returned.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:PassChar`(char`)throw`(CParser`:`:Error`):%- [@(0.0.255) void]_[* PassCha
|
||||
r]([@(0.0.255) char]_[*@3 c])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Char`(char`)^ Char](c).
|
||||
If it returns false, throws error.&]
|
||||
[s7; [%-*C@3 c]-|Character to test.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:PassChar2`(char`,char`)throw`(CParser`:`:Error`):%- [@(0.0.255) void]_[* P
|
||||
assChar2]([@(0.0.255) char]_[*@3 c1], [@(0.0.255) char]_[*@3 c2])_[@(0.0.255) throw](Error)
|
||||
&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Char2`(char`,char`)^ Cha
|
||||
r2](c1, c2). If it returns [* false], throws [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ C
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:PassChar`(char`)throw`(CParser`:`:Error`): [@(0.0.255) void]_[* PassChar](
|
||||
[@(0.0.255) char]_[*@3 c])_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Calls [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Char`(char`)^ Char](c)
|
||||
. If it returns false, throws error.&]
|
||||
[s7;%% [%-*C@3 c]-|Character to test.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:PassChar2`(char`,char`)throw`(CParser`:`:Error`): [@(0.0.255) void]_[* Pa
|
||||
ssChar2]([@(0.0.255) char]_[*@3 c1], [@(0.0.255) char]_[*@3 c2])_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Calls [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Char2`(char`,char`)^ C
|
||||
har2](c1, c2). If it returns [* false], throws [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ C
|
||||
Parser`::Error].&]
|
||||
[s7; [%-*C@3 c1]-|First character of pair.&]
|
||||
[s7; [%-*C@3 c2]-|Second character of pair.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:PassChar3`(char`,char`,char`)throw`(CParser`:`:Error`):%- [@(0.0.255) v
|
||||
oid]_[* PassChar3]([@(0.0.255) char]_[*@3 c1], [@(0.0.255) char]_[*@3 c2],
|
||||
[s7;%% [%-*C@3 c1]-|First character of pair.&]
|
||||
[s7;%% [%-*C@3 c2]-|Second character of pair.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:PassChar3`(char`,char`,char`)throw`(CParser`:`:Error`): [@(0.0.255) voi
|
||||
d]_[* PassChar3]([@(0.0.255) char]_[*@3 c1], [@(0.0.255) char]_[*@3 c2],
|
||||
[@(0.0.255) char]_[*@3 c3])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Calls [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Char3`(char`,char`,char`)^ C
|
||||
[s2;%% Calls [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Char3`(char`,char`,char`)^ C
|
||||
har3](c1, c2, c3). If it returns [* false], throws [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ C
|
||||
Parser`::Error].&]
|
||||
[s7; [%-*C@3 c1]-|First character of triplet.&]
|
||||
[s7; [%-*C@3 c2]-|Second character of triplet.&]
|
||||
[s7; [%-*C@3 c3]-|Third character of triplet.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Id`(const char`*`):%- [@(0.0.255) bool]_[* Id]([@(0.0.255) const]_[@(0.0.255) c
|
||||
[s7;%% [%-*C@3 c1]-|First character of triplet.&]
|
||||
[s7;%% [%-*C@3 c2]-|Second character of triplet.&]
|
||||
[s7;%% [%-*C@3 c3]-|Third character of triplet.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Id`(const char`*`): [@(0.0.255) bool]_[* Id]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 s])&]
|
||||
[s2; Tests for given C`-like identifier [%-*@3 s]. If there is match,
|
||||
[s2;%% Tests for given C`-like identifier [%-*@3 s]. If there is match,
|
||||
advances position by [* strlen](s) characters. Returns [* true] on
|
||||
match and [* false] otherwise.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:PassId`(const char`*`)throw`(CParser`:`:Error`):%- [@(0.0.255) void]_[* P
|
||||
assId]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Invokes the [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Id`(const char`*`)^ I
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:PassId`(const char`*`)throw`(CParser`:`:Error`): [@(0.0.255) void]_[* Pas
|
||||
sId]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s])_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Invokes the [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Id`(const char`*`)^ I
|
||||
d] method with [%-*@3 s] as parameter. If it returns [* false], throws
|
||||
[^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ CParser`::Error
|
||||
].&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsId`(`):%- [@(0.0.255) bool]_[* IsId]()&]
|
||||
[s2; Tests whether there is any C`-like identifier at the current
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsId`(`): [@(0.0.255) bool]_[* IsId]()&]
|
||||
[s2;%% Tests whether there is any C`-like identifier at the current
|
||||
position.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadId`(`)throw`(CParser`:`:Error`):%- [_^String^ String]_[* ReadId]()_[@(0.0.255) t
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadId`(`)throw`(CParser`:`:Error`): [_^String^ String]_[* ReadId]()_[@(0.0.255) t
|
||||
hrow](Error)&]
|
||||
[s2; Reads C`-like identifier from the current position. If there
|
||||
[s2;%% Reads C`-like identifier from the current position. If there
|
||||
is none, a [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ CPa
|
||||
rser`::Error] is thrown.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadIdt`(`)throw`(CParser`:`:Error`):%- [_^String^ String]_[* ReadIdt]()_
|
||||
[@(0.0.255) throw](Error)&]
|
||||
[s2; Special variant of [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:ReadId`(`)throw`(CParser`:`:Error`)^ R
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadIdt`(`)throw`(CParser`:`:Error`): [_^String^ String]_[* ReadIdt]()_[@(0.0.255) t
|
||||
hrow](Error)&]
|
||||
[s2;%% Special variant of [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:ReadId`(`)throw`(CParser`:`:Error`)^ R
|
||||
eadId] that considers different non`-alphanumeric characters
|
||||
to be the part of identifier as long as they form C`+`+ normal
|
||||
or template based type.&]
|
||||
[s7; [*/ Return value]-|Identifier.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsInt`(`):%- [@(0.0.255) bool]_[* IsInt]()&]
|
||||
[s2; Test for integer at current position `- there either must be
|
||||
digit, or `'`+`' or `'`-`' sign followed by any number of spaces
|
||||
and digit.&]
|
||||
[s7; [*/ Return value]-|true if there is integer.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadInt`(`)throw`(CParser`:`:Error`):%- [@(0.0.255) int]_[* ReadInt]()_[@(0.0.255) t
|
||||
[s7;%% [*/ Return value]-|Identifier.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsInt`(`): [@(0.0.255) bool]_[* IsInt]()&]
|
||||
[s2;%% Test for integer at current position `- there either must
|
||||
be digit, or `'`+`' or `'`-`' sign followed by any number of
|
||||
spaces and digit.&]
|
||||
[s7;%% [*/ Return value]-|true if there is integer.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadInt`(`)throw`(CParser`:`:Error`): [@(0.0.255) int]_[* ReadInt]()_[@(0.0.255) t
|
||||
hrow](Error)&]
|
||||
[s2; Reads the integer from the current position. If [* IsInt ]is false,
|
||||
throws an [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ CPar
|
||||
ser`::Error].&]
|
||||
[s7; [*/ Return value]-|Integer.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsNumber`(`):%- [@(0.0.255) bool]_[* IsNumber]()&]
|
||||
[s2; Tests for sign`-less number at current position `- there must
|
||||
[s2;%% Reads the integer from the current position. If [* IsInt ]is
|
||||
false, throws an [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ C
|
||||
Parser`::Error].&]
|
||||
[s7;%% [*/ Return value]-|Integer.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsNumber`(`): [@(0.0.255) bool]_[* IsNumber]()&]
|
||||
[s2;%% Tests for sign`-less number at current position `- there must
|
||||
be digit at current position.&]
|
||||
[s7; [*/ Return value]-|true if there is number.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsNumber`(int`):%- [@(0.0.255) bool]_[* IsNumber]([@(0.0.255) int]_[*@3 base])
|
||||
&]
|
||||
[s2; Tests for sign`-less number with given base `- there must be
|
||||
digit or letter `'A`' `- `'Z`' or `'a`' `- `'z`', where range
|
||||
[s7;%% [*/ Return value]-|true if there is number.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsNumber`(int`): [@(0.0.255) bool]_[* IsNumber]([@(0.0.255) int]_[*@3 base])&]
|
||||
[s2;%% Tests for sign`-less number with given base `- there must
|
||||
be digit or letter `'A`' `- `'Z`' or `'a`' `- `'z`', where range
|
||||
is limit by actual base (e.g. for base 12 letters `'a`' `'A`'
|
||||
`'b`' `'B`' are allowed).&]
|
||||
[s7; [%-*C@3 base]-|Numeric base.&]
|
||||
[s7; [*/ Return value]-|true if there is number with given numeric base.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadNumber`(int`)throw`(CParser`:`:Error`):%- [_^uint32^ uint32]_[* ReadN
|
||||
umber]([@(0.0.255) int]_[*@3 base]_`=_[@3 10])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Reads a number with the given numeric base. If [* IsNumber]([%-*@3 base])
|
||||
[s7;%% [%-*C@3 base]-|Numeric base.&]
|
||||
[s7;%% [*/ Return value]-|true if there is number with given numeric
|
||||
base.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadNumber`(int`)throw`(CParser`:`:Error`): [_^uint32^ uint32]_[* ReadNum
|
||||
ber]([@(0.0.255) int]_[*@3 base]_`=_[@3 10])_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Reads a number with the given numeric base. If [* IsNumber]([%-*@3 base])
|
||||
is false, throws an [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Error`:`:struct^ C
|
||||
Parser`::Error.]&]
|
||||
[s7; [%-*C@3 base]-|Numeric base.&]
|
||||
[s7; [*/ Return value]-|Number.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsDouble`(`):%- [@(0.0.255) bool]_[* IsDouble]()&]
|
||||
[s2; Test for floating point number at current position `- there
|
||||
[s7;%% [%-*C@3 base]-|Numeric base.&]
|
||||
[s7;%% [*/ Return value]-|Number.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsDouble`(`): [@(0.0.255) bool]_[* IsDouble]()&]
|
||||
[s2;%% Test for floating point number at current position `- there
|
||||
either must be digit, or `'`+`' or `'`-`' sign followed by any
|
||||
number of spaces and digit.&]
|
||||
[s7; [*/ Return value]-|true if there is the floating point number.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadDouble`(`)throw`(CParser`:`:Error`):%- [@(0.0.255) double]_[* ReadDou
|
||||
ble]()_[@(0.0.255) throw](Error)&]
|
||||
[s2; Reads a floating point number with C based lexical rules.&]
|
||||
[s7; [*/ Return value]-|Floating point number.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsString`(`):%- [@(0.0.255) bool]_[* IsString]()&]
|
||||
[s2; Tests for C`-like string literal at the current position. Same
|
||||
as [* IsChar](`'`\`"`');&]
|
||||
[s7; [*/ Return value]-|true when there is string literal.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadOneString`(bool`)throw`(CParser`:`:Error`):%- [_^String^ String]_[* R
|
||||
eadOneString]([@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) false])_[@(0.0.255) throw](Er
|
||||
ror)&]
|
||||
[s2; Reads C`-like string literal from current position (follow C
|
||||
lexical rules, including escape codes). Literals on different
|
||||
[s7;%% [*/ Return value]-|true if there is the floating point number.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadDouble`(`)throw`(CParser`:`:Error`): [@(0.0.255) double]_[* ReadDoubl
|
||||
e]()_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Reads a floating point number with C based lexical rules.&]
|
||||
[s7;%% [*/ Return value]-|Floating point number.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsString`(`): [@(0.0.255) bool]_[* IsString]()&]
|
||||
[s2;%% Tests for C`-like string literal at the current position.
|
||||
Same as [* IsChar](`'`\`"`');&]
|
||||
[s7;%% [*/ Return value]-|true when there is string literal.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadOneString`(bool`)throw`(CParser`:`:Error`): [_^String^ String]_[* Rea
|
||||
dOneString]([@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) false])_[@(0.0.255) throw](Erro
|
||||
r)&]
|
||||
[s2;%% Reads C`-like string literal from current position (follow
|
||||
C lexical rules, including escape codes). Literals on different
|
||||
lines are not concatenated (unlike C).&]
|
||||
[s7; [%-*C@3 chkend]-|When [* false], [* ReadOneString ]is more permissive
|
||||
[s7;%% [%-*C@3 chkend]-|When [* false], [* ReadOneString ]is more permissive
|
||||
as it allows unterminated string literals `- string is then also
|
||||
delimited by end of line or text.&]
|
||||
[s7; [*/ Return value]-|String literal.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadString`(bool`)throw`(CParser`:`:Error`):%- [_^String^ String]_[* Read
|
||||
String]([@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) false])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Reads C`-like string literal from current position (follow C
|
||||
lexical rules, including escape codes). Literals on different
|
||||
[s7;%% [*/ Return value]-|String literal.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadString`(bool`)throw`(CParser`:`:Error`): [_^String^ String]_[* ReadSt
|
||||
ring]([@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) false])_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Reads C`-like string literal from current position (follow
|
||||
C lexical rules, including escape codes). Literals on different
|
||||
lines are concatenated (as in C).&]
|
||||
[s7; [%-*C@3 chkend]-|When [* false], [* ReadOneString ]is more permissive
|
||||
[s7;%% [%-*C@3 chkend]-|When [* false], [* ReadOneString ]is more permissive
|
||||
as it allows unterminated string literals `- string is then also
|
||||
delimited by end of line or text.&]
|
||||
[s7; [*/ Return value]-|String literal.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadOneString`(int`,bool`)throw`(CParser`:`:Error`):%- [_^String^ Strin
|
||||
g]_[* ReadOneString]([@(0.0.255) int]_[*@3 delim], [@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) f
|
||||
[s7;%% [*/ Return value]-|String literal.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadOneString`(int`,bool`)throw`(CParser`:`:Error`): [_^String^ String]_
|
||||
[* ReadOneString]([@(0.0.255) int]_[*@3 delim], [@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) f
|
||||
alse])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Reads C`-like string literal from current position (follow C
|
||||
lexical rules, including escape codes) with different delimiter
|
||||
[s2;%% Reads C`-like string literal from current position (follow
|
||||
C lexical rules, including escape codes) with different delimiter
|
||||
than `'`\`"`'. Literals on different lines are not concatenated
|
||||
(unlike C).&]
|
||||
[s7; [%-*C@3 delim]-|Delimiter.&]
|
||||
[s7; [%-*C@3 chkend]-|When false, [* ReadOneString ]is more permissive
|
||||
[s7;%% [%-*C@3 delim]-|Delimiter.&]
|
||||
[s7;%% [%-*C@3 chkend]-|When false, [* ReadOneString ]is more permissive
|
||||
as it allows unterminated string literals `- string is then also
|
||||
delimited by end of line or text.&]
|
||||
[s7; [*/ Return value]-|String literal.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:ReadString`(int`,bool`)throw`(CParser`:`:Error`):%- [_^String^ String]_
|
||||
[* ReadString]([@(0.0.255) int]_[*@3 delim], [@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) fa
|
||||
lse])_[@(0.0.255) throw](Error)&]
|
||||
[s2; Reads C`-like string literal from current position (follow C
|
||||
lexical rules, including escape codes). with different delimiter
|
||||
[s7;%% [*/ Return value]-|String literal.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:ReadString`(int`,bool`)throw`(CParser`:`:Error`): [_^String^ String]_[* R
|
||||
eadString]([@(0.0.255) int]_[*@3 delim], [@(0.0.255) bool]_[*@3 chkend]_`=_[@(0.0.255) fals
|
||||
e])_[@(0.0.255) throw](Error)&]
|
||||
[s2;%% Reads C`-like string literal from current position (follow
|
||||
C lexical rules, including escape codes). with different delimiter
|
||||
than `'`\`"`'. Literals on different lines are concatenated (as
|
||||
in C).&]
|
||||
[s7; [%-*C@3 delim]-|Delimiter.&]
|
||||
[s7; [%-*C@3 chkend]-|When false, [* ReadOneString ]is more permissive
|
||||
[s7;%% [%-*C@3 delim]-|Delimiter.&]
|
||||
[s7;%% [%-*C@3 chkend]-|When false, [* ReadOneString ]is more permissive
|
||||
as it allows unterminated string literals `- string is then also
|
||||
delimited by end of line or text.&]
|
||||
[s7; [*/ Return value]-|String literal.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:SkipTerm`(`):%- [@(0.0.255) void]_[* SkipTerm]()&]
|
||||
[s2; Skips a single symbol. Decimal numbers, identifiers and string
|
||||
[s7;%% [*/ Return value]-|String literal.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:SkipTerm`(`): [@(0.0.255) void]_[* SkipTerm]()&]
|
||||
[s2;%% Skips a single symbol. Decimal numbers, identifiers and string
|
||||
literals are skipped as whole symbols, otherwise input position
|
||||
is advanced by 1 character.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:GetPtr`(`):%- [@(0.0.255) const]_[@(0.0.255) char]_`*[* GetPtr]()&]
|
||||
[s2; Returns a pointer to the current position.&]
|
||||
[s7; [*/ Return value]-|Pointer to current position.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:GetPos`(`):%- [_^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Pos`:`:struct^ C
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:GetPtr`(`): [@(0.0.255) const]_[@(0.0.255) char]_`*[* GetPtr]()&]
|
||||
[s2;%% Returns a pointer to the current position.&]
|
||||
[s7;%% [*/ Return value]-|Pointer to current position.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:GetPos`(`): [_^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Pos`:`:struct^ C
|
||||
Parser`::Pos]_[* GetPos]()&]
|
||||
[s2; Gets the current position,.&]
|
||||
[s7; [*/ Return value]-|Current position. It contains the pointer as
|
||||
well as the line number and the filename.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:SetPos`(const CParser`:`:Pos`&`):%- [@(0.0.255) void]_[* SetPos]([@(0.0.255) c
|
||||
[s2;%% Gets the current position,.&]
|
||||
[s7;%% [*/ Return value]-|Current position. It contains the pointer
|
||||
as well as the line number and the filename.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:SetPos`(const CParser`:`:Pos`&`): [@(0.0.255) void]_[* SetPos]([@(0.0.255) c
|
||||
onst]_[_^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:Pos`:`:struct^ CParser`:
|
||||
:Pos][@(0.0.255) `&]_[*@3 p])&]
|
||||
[s2;%- [%% Sets the current position to ][*@3 p][%% . ][*@3 p ]can be from
|
||||
[s2; [%% Sets the current position to ][*@3 p][%% . ][*@3 p ]can be from
|
||||
a different [* CParser].&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:IsEof`(`)const:%- [@(0.0.255) bool]_[* IsEof]()_[@(0.0.255) const]&]
|
||||
[s2; Test for the end of input text.&]
|
||||
[s7; [*/ Return value]-|true when current position is a the end of input
|
||||
text (`'`\0`' character).&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:operator bool`(`)const:%- [* operator_bool]()_[@(0.0.255) const]&]
|
||||
[s2;%- Returns [* true ]if end of file has not been reached, [* false
|
||||
]otherwise.&]
|
||||
[s7; &]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:GetLine`(`)const:%- [@(0.0.255) int]_[* GetLine]()_[@(0.0.255) const]&]
|
||||
[s2;%- Returns the current line number.&]
|
||||
[s7; [*/ Return value]-|Current line.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:GetFileName`(`)const:%- [_^String^ String]_[* GetFileName]()_[@(0.0.255) co
|
||||
nst]&]
|
||||
[s2;%- Returns the actual filename.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:IsEof`(`)const: [@(0.0.255) bool]_[* IsEof]()_[@(0.0.255) const]&]
|
||||
[s2;%% Test for the end of input text.&]
|
||||
[s7;%% [*/ Return value]-|true when current position is a the end of
|
||||
input text (`'`\0`' character).&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:operator bool`(`)const: [* operator_bool]()_[@(0.0.255) const]&]
|
||||
[s2; Returns [* true ]if end of file has not been reached, [* false ]otherwise.&]
|
||||
[s7;%% &]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:GetLine`(`)const: [@(0.0.255) int]_[* GetLine]()_[@(0.0.255) const]&]
|
||||
[s2; Returns the current line number.&]
|
||||
[s7;%% [*/ Return value]-|Current line.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:GetFileName`(`)const: [_^String^ String]_[* GetFileName]()_[@(0.0.255) cons
|
||||
t]&]
|
||||
[s2; Returns the actual filename.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 CParser`::Error]]}}&]
|
||||
[s3; &]
|
||||
[s1;:CParser`:`:Error`:`:struct: [@(0.0.255)3 struct][3 _][*3 Error][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Exc]&]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 CParser`::Error]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:CParser`:`:Error`:`:struct:%- [@(0.0.255)3 struct][3 _][*3 Error][3 _:_][@(0.0.255)3 public
|
||||
][3 _][*@3;3 Exc]&]
|
||||
[s0;%- &]
|
||||
[s0; Type used as [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:class^ CParser]
|
||||
[s0;%% Type used as [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:class^ CParser]
|
||||
exception. Contains single [^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ S
|
||||
tring] with error description.&]
|
||||
[s0;/ &]
|
||||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Exc`$en`-us`#Exc`:`:class^ Exc]&]
|
||||
[s0;/%% &]
|
||||
[s0; [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Exc`$en`-us`#Exc`:`:class^ Exc]&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:Exc`:`:Exc`(`):%- [* Exc]()&]
|
||||
[s2; Default constructor. Error message is empty.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Exc`:`:Exc`(const String`&`):%- [* Exc]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&
|
||||
[s5;:Exc`:`:Exc`(`): [* Exc]()&]
|
||||
[s2;%% Default constructor. Error message is empty.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Exc`:`:Exc`(const String`&`): [* Exc]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&
|
||||
]_[*@3 desc])&]
|
||||
[s2;%- [%% Construct an ][%%* Error][%% with ][*@3 desc] as an error message.&]
|
||||
[s2; [%% Construct an ][%%* Error][%% with ][*@3 desc] as an error message.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 CParser`::Pos]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:CParser`:`:Pos`:`:struct: [@(0.0.255)3 struct][3 _][*3 Pos]&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 CParser`::Pos]]}}&]
|
||||
[s5;:`:`:CParser`:`:Pos`:`:struct:%% Position in parsed text.&]
|
||||
[s3;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s1;:CParser`:`:Pos`:`:struct:%- [@(0.0.255)3 struct][3 _][*3 Pos]&]
|
||||
[s3;%- &]
|
||||
[s5;:`:`:CParser`:`:Pos`:`:struct: Position in parsed text.&]
|
||||
[s3; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:CParser`:`:Pos`:`:Pos`(const char`*`,int`,String`):%- [* Pos]([@(0.0.255) const]_[@(0.0.255) c
|
||||
[s5;:CParser`:`:Pos`:`:Pos`(const char`*`,int`,String`): [* Pos]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 ptr]_`=_NULL, [@(0.0.255) int]_[*@3 line]_`=_[@3 1], [_^String^ String]_[*@3 fn]_
|
||||
`=_Null)&]
|
||||
[s2;%- Constrcuts a [* Pos ]based on pointer in input buffer, line
|
||||
number and anme of the file.&]
|
||||
[s7; [%-*@3 ptr]-|Pointer to the position in the input text &]
|
||||
[s7; [%-*@3 line]-|Line number.&]
|
||||
[s7; [%-*@3 fn]-|Filename.&]
|
||||
[s3;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:CParser`:`:Pos`:`:ptr:%- [@(0.0.255) const]_[@(0.0.255) char]_`*[* ptr]&]
|
||||
[s2; Pointer to the position in the input text &]
|
||||
[s2; Constrcuts a [* Pos ]based on pointer in input buffer, line number
|
||||
and anme of the file.&]
|
||||
[s7;%% [%-*@3 ptr]-|Pointer to the position in the input text &]
|
||||
[s7;%% [%-*@3 line]-|Line number.&]
|
||||
[s7;%% [%-*@3 fn]-|Filename.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Pos`:`:line:%- [@(0.0.255) int]_[* line]&]
|
||||
[s2; Line number.&]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:CParser`:`:Pos`:`:fn:%- [_^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ S
|
||||
tring]_[* fn]&]
|
||||
[s2; Filename.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 C`-like string literal formatting]]}}&]
|
||||
[s3; &]
|
||||
[s0; [* AsCString] routines produce C`-like literals (compatible with
|
||||
[^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:class^ CParser])
|
||||
[s5;:CParser`:`:Pos`:`:ptr: [@(0.0.255) const]_[@(0.0.255) char]_`*[* ptr]&]
|
||||
[s2;%% Pointer to the position in the input text &]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Pos`:`:line: [@(0.0.255) int]_[* line]&]
|
||||
[s2;%% Line number.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:CParser`:`:Pos`:`:fn: [_^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ St
|
||||
ring]_[* fn]&]
|
||||
[s2;%% Filename.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 C`-like string literal formatting]]}}&]
|
||||
[s3;%% &]
|
||||
[s0;%% [* AsCString] routines produce C`-like literals (compatible
|
||||
with [^topic`:`/`/Core`/src`/CParser`$en`-us`#CParser`:`:class^ CParser])
|
||||
from character data:&]
|
||||
[s0; &]
|
||||
[s5;:AsCString`(const char`*`,const char`*`,int`,const char`*`,dword`):%- [_^String^ St
|
||||
ring]_[* AsCString]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s], [@(0.0.255) const]_[@(0.0.255) c
|
||||
[s0;%% &]
|
||||
[s5;:AsCString`(const char`*`,const char`*`,int`,const char`*`,dword`): [_^String^ Stri
|
||||
ng]_[* AsCString]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s], [@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 end], [@(0.0.255) int]_[*@3 linemax]_`=_INT`_MAX, [@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 linepfx]_`=_NULL, [_^dword^ dword]_[*@3 flags]_`=_[@3 0])&]
|
||||
[s2; Creates C`-like literal.&]
|
||||
[s7; [%-*@3 s]-|Pointer to characters.&]
|
||||
[s7; [%-*@3 end] -|End of characters array (`'`\0`' characters are allowed
|
||||
inside data).&]
|
||||
[s7; [%-*@3 linemax] -|Maximal length of line. If this is exceeded,
|
||||
[s2;%% Creates C`-like literal.&]
|
||||
[s7;%% [%-*@3 s]-|Pointer to characters.&]
|
||||
[s7;%% [%-*@3 end] -|End of characters array (`'`\0`' characters are
|
||||
allowed inside data).&]
|
||||
[s7;%% [%-*@3 linemax] -|Maximal length of line. If this is exceeded,
|
||||
ending `"`\`"`\n`" and [@3 linepfx] is inserted and literal continues
|
||||
on the new line.&]
|
||||
[s7; [%-*@3 linepfx]-|Pointer to zero`-terminated text to be inserted
|
||||
[s7;%% [%-*@3 linepfx]-|Pointer to zero`-terminated text to be inserted
|
||||
at the beginning of the line when the line length is exceeded.&]
|
||||
[s7; [%-*@3 flags]-|true activates smarter breaking into lines `- breaks
|
||||
at spaces are preferred.&]
|
||||
[s7; [*/ Return value]-|C`-like literal.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AsCString`(const char`*`,int`,const char`*`,dword`):%- [_^String^ String]_[* AsCStri
|
||||
ng]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s], [@(0.0.255) int]_[*@3 linemax]_`=_INT`_
|
||||
MAX, [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 linepfx]_`=_NULL,
|
||||
[_^dword^ dword]_[*@3 flags]_`=_[@3 0])&]
|
||||
[s2; Creates C`-like literal from zero terminated character data.
|
||||
[s7;%% [%-*@3 flags]-|true activates smarter breaking into lines `-
|
||||
breaks at spaces are preferred.&]
|
||||
[s7;%% [*/ Return value]-|C`-like literal.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:AsCString`(const char`*`,int`,const char`*`,dword`): [_^String^ String]_[* AsCString
|
||||
]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 s], [@(0.0.255) int]_[*@3 linemax]_`=_INT`_MA
|
||||
X, [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 linepfx]_`=_NULL, [_^dword^ dword]_[*@3 flag
|
||||
s]_`=_[@3 0])&]
|
||||
[s2;%% Creates C`-like literal from zero terminated character data.
|
||||
Same as [^topic`:`/`/Core`/src`/CParser`$en`-us`#AsCString`(const char`*`,const char`*`,int`,const char`*`,dword`)^ A
|
||||
sCString]([%-*@3 s],[%- _][%-*@3 s][%- _]`+[%- _][* strlen]([%-*@3 s]),[%- _][%-*@3 linemax],[%- _][%-*@3 l
|
||||
inepfx],[%- _][%-*@3 flags]).&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AsCString`(const String`&`,int`,const char`*`,dword`):%- [_^String^ String]_[* AsCSt
|
||||
ring]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 s], [@(0.0.255) int]_[*@3 lin
|
||||
emax]_`=_INT`_MAX, [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 linepfx]_`=_NULL,
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:AsCString`(const String`&`,int`,const char`*`,dword`): [_^String^ String]_[* AsCStri
|
||||
ng]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 s], [@(0.0.255) int]_[*@3 linem
|
||||
ax]_`=_INT`_MAX, [@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 linepfx]_`=_NULL,
|
||||
[_^dword^ dword]_[*@3 flags]_`=_[@3 0])&]
|
||||
[s2; Creates C`-like literal from [^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ S
|
||||
[s2;%% Creates C`-like literal from [^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ S
|
||||
tring]. String can contain zero characters. Same as [^topic`:`/`/Core`/src`/CParser`$en`-us`#AsCString`(const char`*`,const char`*`,int`,const char`*`,dword`)^ A
|
||||
sCString]([%-*@3 s].[^topic`:`/`/Core`/src`/String`$en`-us`#String0`:`:Begin`(`)const^ B
|
||||
egin](),[%- _][%-*@3 s].[^topic`:`/`/Core`/src`/String`$en`-us`#String0`:`:End`(`)const^ E
|
||||
nd](),[%- _][%-*@3 linemax],[%- _][%-*@3 linepfx],[%- _][%-*@3 flags]).&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
[s3;%% &]
|
||||
[s0;%% ]
|
||||
136
uppsrc/Core/src.tpp/DateTime$en-us.tpp
Normal file
136
uppsrc/Core/src.tpp/DateTime$en-us.tpp
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
topic "";
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[0 $$3,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
||||
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Date]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:Date`:`:struct: [@(0.0.255)3 struct][3 _][*3 Date][3 _:_][@(0.0.255)3 public][3 _][*@3;3 RelOps
|
||||
][3 <_][*3 Date][3 , ][_^Moveable^3 Moveable][3 <][*3 Date][3 >_>_]&]
|
||||
[s9;%% A simple date object with up to a day precision.&]
|
||||
[s3; &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Date`:`:Date`(`): [* Date]()&]
|
||||
[s2;%% Default constructor.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:Date`(const Nuller`&`): [* Date]([@(0.0.255) const]_[_^Nuller^ Nuller][@(0.0.255) `&
|
||||
])&]
|
||||
[s2;%% Construct an empty date.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:Date`(int`,int`,int`): [* Date]([@(0.0.255) int]_[*@3 y],
|
||||
[@(0.0.255) int]_[*@3 m], [@(0.0.255) int]_[*@3 d])&]
|
||||
[s2;%% Constructs a date based on [%-*@3 y] [%-*@3 m] [%-*@3 d].&]
|
||||
[s3;%% &]
|
||||
[s3;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Date`:`:day: [_^byte^ byte]_[* day]&]
|
||||
[s2;%% Day.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:month: [_^byte^ byte]_[* month]&]
|
||||
[s2;%% Month.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:year: [_^int16^ int16]_[* year]&]
|
||||
[s2;%% Year.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:IsValid`(`)const: [@(0.0.255) bool]_[* IsValid]()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns true if the date is valid.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:Set`(int`): [@(0.0.255) void]_[* Set]([@(0.0.255) int]_[*@3 scalar])&]
|
||||
[s2;%% Assign a date that is stored in the numeric [%-*@3 scalar].&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:Get`(`)const: [@(0.0.255) int]_[* Get]()_[@(0.0.255) const]&]
|
||||
[s2;%% Converts the time into a numeric value.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:Low`(`): [@(0.0.255) static] [_^Date^ Date]_[* Low]()&]
|
||||
[s2;%% Returns the lowest possible date (year 4000).&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Date`:`:High`(`): [@(0.0.255) static] [_^Date^ Date]_[* High]()&]
|
||||
[s2;%% Returns the highest possible date (year 4000).&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Time]]}}&]
|
||||
[s3; &]
|
||||
[s1;:Time`:`:struct: [@(0.0.255)3 struct][3 _][*3 Time][3 _:_][@(0.0.255)3 public][3 _][*@3;3 Date][3 ,
|
||||
][@(0.0.255)3 public][3 _][*@3;3 RelOps][3 <_][*3 Time][3 , ][_^Moveable^3 Moveable][3 <][*3 Time][3 >
|
||||
_>_]&]
|
||||
[s9;%% A simple date time object with up to a second precision.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Time`:`:Time`(`): [* Time]()&]
|
||||
[s2;%% Default constructor.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:Time`(const Nuller`&`): [* Time]([@(0.0.255) const]_[_^Nuller^ Nuller][@(0.0.255) `&
|
||||
])&]
|
||||
[s2;%% Construcs an empty time.&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:Time`(int`,int`,int`,int`,int`,int`): [* Time]([@(0.0.255) int]_[*@3 y],
|
||||
[@(0.0.255) int]_[*@3 m], [@(0.0.255) int]_[*@3 d], [@(0.0.255) int]_[*@3 h]_`=_[@3 0],
|
||||
[@(0.0.255) int]_[*@3 n]_`=_[@3 0], [@(0.0.255) int]_[*@3 s]_`=_[@3 0])&]
|
||||
[s2;%% Constructs a time based on [%-*@3 y] [%-*@3 m] [%-*@3 d] [%-*@3 h]
|
||||
[%-*@3 n] [%-*@3 s].&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:Time`(FileTime`): [* Time]([_^FileTime^ FileTime]_[*@3 filetime])&]
|
||||
[s2;%% Constructs based on a platform specific [%-*@3 filetime].&]
|
||||
[s3;%% &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Time`:`:hour: [_^byte^ byte]_[* hour]&]
|
||||
[s2;%% Hour.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:minute: [_^byte^ byte]_[* minute]&]
|
||||
[s2;%% Minute.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:second: [_^byte^ byte]_[* second]&]
|
||||
[s2;%% Second.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:High`(`): [@(0.0.255) virtual] [@(0.0.255) static] [_^Time^ Time]_[* High]()&]
|
||||
[s2;%% Returns the highest possible time (year 4000).&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:Low`(`): [@(0.0.255) virtual] [@(0.0.255) static] [_^Time^ Time]_[* Low]()&]
|
||||
[s2;%% Returns the lowest possible time (year `-4000).&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:Set`(int64`): [@(0.0.255) void]_[* Set]([_^int64^ int64]_[*@3 scalar])&]
|
||||
[s2;%% Assign a time that is stored in the numeric [%-*@3 scalar].&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:Get`(`)const: [@(0.0.255) virtual] [_^int64^ int64]_[* Get]()_[@(0.0.255) const]&]
|
||||
[s2;%% Converts the time into a numeric value.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Time`:`:AsFileTime`(`)const: [_^FileTime^ FileTime]_[* AsFileTime]()_[@(0.0.255) const
|
||||
]&]
|
||||
[s2;%% Converst the time into a system specific value.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,7 +11,6 @@ topic "Ptr and Pte";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Ptr and Pte]]}}&]
|
||||
[s3; &]
|
||||
[s9; Ptr and Pte class templates provide a smart pointer system that
|
||||
cleared (assigned NULL) when pointed object is destructed. That
|
||||
makes it useful in situations where life`-time of object cannot
|
||||
|
|
@ -24,7 +23,10 @@ class bases, with the derived class as its parameter, e.g.:&]
|
|||
[s0; [C+75 struct Foo : Pte<Foo> `{....]&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Pte]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:noref:%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]&]
|
||||
[s1;:Pte`:`:class:%- [@(0.0.255) class]_[* Pte]_:_[@(0.0.255) public]_[*@3 PteBase]&]
|
||||
[s0; &]
|
||||
|
|
@ -36,7 +38,10 @@ pointed object. &]
|
|||
teBase]&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Ptr and Pte]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:noref:%- [@(0.0.255) template]_<[@(0.0.255) class]_[*@4 T][@(0.0.255) >]&]
|
||||
[s1;:Ptr`:`:class:%- [@(0.0.255) class]_[* Ptr]_:_[@(0.0.255) public]_[*@3 PtrBase],
|
||||
[@(0.0.255) private]_[*@3 Moveable][@(0.0.255) <]_[* Ptr][@(0.0.255) <][*@4 T][@(0.0.255) >]_>_
|
||||
|
|
|
|||
|
|
@ -1159,128 +1159,188 @@ and specific POSIX access rights.&]
|
|||
[s3; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) class][@(64) _]FileIn[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:FileStream^@(64) F
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 FileIn]]}}&]
|
||||
[s3; &]
|
||||
[s1;:FileIn`:`:class:%- [@(0.0.255)3 class][3 _][*3 FileIn][3 _:_][@(0.0.255)3 public][3 _][*@3;3 Fi
|
||||
leStream]&]
|
||||
[s9; Simple helper class that represents FileStream in read mode.&]
|
||||
[s0; &]
|
||||
[s9;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ F
|
||||
ileStream]&]
|
||||
[s2; &]
|
||||
[s2; Simple helper class that represents FileStream in read mode.&]
|
||||
[s2; &]
|
||||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ F
|
||||
ileStream]&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:FileIn`:`:FileIn`(const char`*`):%- [* FileIn](const_char_`*[*@3 fn])&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:FileIn`:`:FileIn`(const char`*`):%- [* FileIn]([@(0.0.255) const]_[@(0.0.255) char]_`*
|
||||
[*@3 fn])&]
|
||||
[s2; Opens file for reading.&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:FileIn`:`:FileIn`(`):%- [* FileIn]()&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileIn`:`:FileIn`(`):%- [* FileIn]()&]
|
||||
[s2; Constructs empty FileStream.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
||||
`*][@3 fn][@(64) )]&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:FileIn`:`:Open`(const char`*`):%- [@(0.0.255) bool]_[* Open]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 fn])&]
|
||||
[s2; Opens file for reading.&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s7; [*/ Return value]-|True if open was successful.&]
|
||||
[s3; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) class][@(64) _]FileOut[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:FileStream^@(64) F
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 FileOut]]}}&]
|
||||
[s3; &]
|
||||
[s1;:FileOut`:`:class:%- [@(0.0.255)3 class][3 _][*3 FileOut][3 _:_][@(0.0.255)3 public][3 _][*@3;3 F
|
||||
ileStream]&]
|
||||
[s2; &]
|
||||
[s2; Simple helper class that represents FileStream in write mode.&]
|
||||
[s9; Simple helper class that represents FileStream in write mode.&]
|
||||
[s2; &]
|
||||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:FileStream`:`:class FileStream^ F
|
||||
ileStream]&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:FileOut`:`:FileOut`(const char`*`):%- [* FileOut](const_char_`*[*@3 fn])&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:FileOut`:`:FileOut`(const char`*`):%- [* FileOut]([@(0.0.255) const]_[@(0.0.255) char]_
|
||||
`*[*@3 fn])&]
|
||||
[s2; Opens file for writing.&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:FileOut`:`:FileOut`(`):%- [* FileOut]()&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileOut`:`:FileOut`(`):%- [* FileOut]()&]
|
||||
[s2;%- Constructs non`-opened FileStream.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
||||
`*][@3 fn][@(64) , ][^mode`_t^@(64) mode`_t][@(64) _][@3 acm][@(64) _`=_][@3 0644][@(64) )]&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:FileOut`:`:Open`(const char`*`):%- [@(0.0.255) bool]_[* Open]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 fn])&]
|
||||
[s2; Opens file for writing.&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s7; [*/ Return value]-|True if open was successful.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileOut`:`:Open`(const char`*`,mode`_t`):%- [@(0.0.255) bool]_[* Open]([@(0.0.255) con
|
||||
st]_[@(0.0.255) char]_`*[*@3 fn], mode`_t_[*@3 acm]_`=_[@3 0644])&]
|
||||
[s2; Opens file for writing.&]
|
||||
[s6; POSIX specific&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s7;%- [*@3 acm][@3 -|]File mode&]
|
||||
[s2; [*/ Return value]-|True if open was successful.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) class][@(64) _]FileAppend[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:FileStream^@(64) F
|
||||
ileStream]&]
|
||||
[s2; &]
|
||||
[s2; Simple helper class that represents FileStream in append mode
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 FileAppend]]}}&]
|
||||
[s3; &]
|
||||
[s1;:FileAppend`:`:class:%- [@(0.0.255)3 class][3 _][*3 FileAppend][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 FileStream]&]
|
||||
[s9; Simple helper class that represents FileStream in append mode
|
||||
`- that in fact means in write mode with current position at
|
||||
the end of the file.&]
|
||||
[s2; &]
|
||||
[s0;%- [%%/ Derived from][%% ]FileStream&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:FileAppend`:`:FileAppend`(const char`*`):%- [* FileAppend](const_char_`*[*@3 fn])
|
||||
&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s5;:FileAppend`:`:FileAppend`(const char`*`):%- [* FileAppend]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 fn])&]
|
||||
[s2; Opens file in append mode.&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:FileAppend`:`:FileAppend`(`):%- [* FileAppend]()&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:FileAppend`:`:FileAppend`(`):%- [* FileAppend]()&]
|
||||
[s2; Constructs empty FileStream.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) bool][@(64) _]Open[@(64) (][@(0.0.255) const][@(64) _][@(0.0.255) char][@(64) _
|
||||
`*][@3 fn][@(64) )]&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:FileAppend`:`:Open`(const char`*`):%- [@(0.0.255) bool]_[* Open]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 fn])&]
|
||||
[s2; Opens file in append mode.&]
|
||||
[s7; [%-*C@3 fn]-|File name.&]
|
||||
[s7; [*/ Return value]-|true when Open was successful.&]
|
||||
[s3; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) class][@(64) _]SizeStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
||||
tream]&]
|
||||
[s2; &]
|
||||
[s2; Special output stream that in fact does not store output data,
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 SizeStream]]}}&]
|
||||
[s3; &]
|
||||
[s1;:SizeStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 SizeStream][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Stream]&]
|
||||
[s9; Special output stream that in fact does not store output data,
|
||||
only counts the total number of bytes written.&]
|
||||
[s2; &]
|
||||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ B
|
||||
ufferStream]&]
|
||||
[s0;3 &]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s0;:`:`:SizeStream`:`:SizeStream`(`):%- [* SizeStream]()&]
|
||||
[s2; Constructor `- co&]
|
||||
[s0;3 &]
|
||||
[s5;K%- virtual [@(0.0.255) void][@(64) _]`_Put[@(64) (][@(0.0.255) int][@(64) _][@3 w][@(64) )]&]
|
||||
[s7; [*/ Return value]-|Current number of bytes written.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) void][@(64) _]Open[@(64) ()]&]
|
||||
[s2; Default constructor.&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:SizeStream`:`:`_Put`(int`):%- [@(0.0.255) virtual] [@(0.0.255) void]_[* `_Put]([@(0.0.255) i
|
||||
nt]_[*@3 w])&]
|
||||
[s7; Return value-|Current number of bytes written.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:SizeStream`:`:Open`(`):%- [@(0.0.255) void]_[* Open]()&]
|
||||
[s2; Reopens data `- resets the counter of output bytes.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:SizeStream`:`:operator int64`(`)const:%- [* operator_int64]()_[@(0.0.255) const]&]
|
||||
[s2; Returns current number of bytes written.&]
|
||||
[s3;%- &]
|
||||
[s0; &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) class][@(64) _]CompareStream[@(64) _:_][@(0.0.255) public][@(64) _][^`:`:Stream^@(64) S
|
||||
tream]&]
|
||||
[s2; &]
|
||||
[s2; Special output stream that instead of storing data performs
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 CompareStream]]}}&]
|
||||
[s3; &]
|
||||
[s1;:CompareStream`:`:class:%- [@(0.0.255)3 class][3 _][*3 CompareStream][3 _:_][@(0.0.255)3 pub
|
||||
lic][3 _][*@3;3 Stream]&]
|
||||
[s9; Special output stream that instead of storing data performs
|
||||
their comparison to the data of another stream.&]
|
||||
[s2; &]
|
||||
[s0;%- [%%/ Derived from][%% ][^topic`:`/`/Core`/src`/Stream`$en`-us`#`:`:BufferStream`:`:class BufferStream^ B
|
||||
ufferStream]&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:CompareStream`:`:CompareStream`(`):%- [* CompareStream]()&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
[s0;:CompareStream`:`:CompareStream`(`):%- [* CompareStream]()&]
|
||||
[s2; Constructs closed CompareStream.&]
|
||||
[s0;3 &]
|
||||
[s0;:`:`:CompareStream`:`:CompareStream`(`:`:Stream`&`):%- [* CompareStream](Stream`&_[*@3 a
|
||||
Stream])&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:CompareStream`:`:CompareStream`(Stream`&`):%- [* CompareStream]([_^Stream^ Stream][@(0.0.255) `&
|
||||
]_[*@3 aStream])&]
|
||||
[s2; Constructors CompareStream opened for comparison with specified
|
||||
stream.&]
|
||||
[s7; [%-*C@3 aStream]-|Stream to compare with.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- virtual [@(0.0.255) void][@(64) _]`_Put[@(64) (][@(0.0.255) int][@(64) _][@3 w][@(64) )]&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:CompareStream`:`:Open`(Stream`&`):%- [@(0.0.255) void]_[* Open]([_^Stream^ Stream][@(0.0.255) `&
|
||||
]_[*@3 aStream])&]
|
||||
[s2; Opens CompareStream for comparison with the specified stream.&]
|
||||
[s7; [%-*C@3 aStream]-|Stream to compare with.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- [@(0.0.255) bool][@(64) _]IsEqual[@(64) ()]&]
|
||||
[s7; [*/ Return value]-|true if all bytes written so far match those
|
||||
in comparison stream.&]
|
||||
[s0;3 &]
|
||||
[s5;K%- operator_[@(0.0.255) bool][@(64) ()]&]
|
||||
[s7; [*/ Return value]-|IsEqual().&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:CompareStream`:`:IsEqual`(`):%- [@(0.0.255) bool]_[* IsEqual]()&]
|
||||
[s7; Return value-|true if all bytes written so far match those in
|
||||
comparison stream.&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:CompareStream`:`:operator bool`(`):%- [* operator_bool]()&]
|
||||
[s7; Return value-|IsEqual().&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -10,10 +10,13 @@ topic "StringBuffer and WStringBuffer";
|
|||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[s1;%% [@3;4 StringBuffer]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 StringBuffer]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:StringBuffer`:`:class: [@(0.0.255)3 class][3 _][*3 StringBuffer][3 _:_][@(0.0.255)3 private
|
||||
][3 _][*@3;3 NoCopy]&]
|
||||
[s0;%% &]
|
||||
[s9;%% A class useful when working with code that expects a character
|
||||
buffer, like C code. It supports constant time pick assignment
|
||||
to and from [* String].&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
|
|
@ -114,11 +117,14 @@ Clears [%-*@3 s].&]
|
|||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s1;%% [@3;4 WStringBuffer]&]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 WStringBuffer]]}}&]
|
||||
[s3; &]
|
||||
[s1;:WStringBuffer`:`:class: [@(0.0.255)3 class][3 _][*3 WStringBuffer][3 _:_][@(0.0.255)3 priva
|
||||
te][3 _][*@3;3 NoCopy]&]
|
||||
[s3;%% &]
|
||||
[s0; &]
|
||||
[s9;%% A class useful when working with code that expects a wide
|
||||
character buffer, like C code. It supports constant time pick
|
||||
assignment to and from W[* String].&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor Detail]]}}&]
|
||||
[s3; &]
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ _[@(0.0.255) false])&]
|
|||
XML entities (like `'[@(128.0.255) `<]`') while converting it
|
||||
to UTF`-8. If [*@3 escapelf].is true, `'`\n`' is escaped as `'[@(128.0.255) `&#x%0a;]`'
|
||||
.&]
|
||||
[s0;i448;a25;kKO9;_ &]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:XmlHeader`(const char`*`,const char`*`,const char`*`): [_^String^ String]_[* XmlHead
|
||||
er]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 encoding]_`=_`"UTF[@(0.0.255) `-][@3 8]`",
|
||||
|
|
|
|||
|
|
@ -89,4 +89,4 @@ wrap mode is active, 0 `- wrap is active for frame BarCtrl, `-1
|
|||
[s5;:BarCtrl`:`:NoWrap`(`): [_^BarCtrl^ BarCtrl][@(0.0.255) `&]_[* NoWrap]()&]
|
||||
[s2;%% Same as Wrap(`-1).&]
|
||||
[s3;%% &]
|
||||
[s0;%% ]
|
||||
[s0; ]
|
||||
|
|
@ -104,7 +104,7 @@ Style]()&]
|
|||
Returns `*this for chaining.&]
|
||||
[s3;%- &]
|
||||
[s0; &]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000@3 [s0; [*@(229)4 ButtonOption`::Style]]}}&]
|
||||
[s3; &]
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ topic "Color widgets";
|
|||
[{_}%EN-US
|
||||
[ {{10000@3 [s0; [*@(229)4 ColorPopUp]]}}&]
|
||||
[s3;%- &]
|
||||
[s1;:ColorPopUp`:`:class:%- [@(0.0.255)3 class][3 _][*3 ColorPopUp][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Ctrl]&]
|
||||
[s9; This class implements pop`-up window for color`-selection.&]
|
||||
[s0; &]
|
||||
[s2;
|
||||
|
|
|
|||
|
|
@ -9,65 +9,71 @@ topic "FileSel utilities";
|
|||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 FileSel based utility functions]]}}&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s0;%% These functions simplify opening files using single global
|
||||
file`-selector. The configuration of file`-selector is stored
|
||||
into [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us^ global
|
||||
configuration].&]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Function List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:SelectFileOpen`(const char`*`): [_^String^ String]_[* SelectFileOpen]([@(0.0.255) cons
|
||||
t]_[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2;%% Selects file for opening, [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 FileSel based utility functions]]}}&]
|
||||
[s9; These functions simplify opening files using single global file`-selector.
|
||||
The configuration of file`-selector is stored into [^topic`:`/`/Core`/src`/SerializationUtils`$en`-us^ g
|
||||
lobal configuration].&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Function List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:SelectFileOpen`(const char`*`):%- [_^String^ String]_[* SelectFileOpen]([@(0.0.255) co
|
||||
nst]_[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2; Selects file for opening, [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. If selections is canceled, returns empty
|
||||
String.&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:SelectFileSaveAs`(const char`*`): [_^String^ String]_[* SelectFileSaveAs]([@(0.0.255) c
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:SelectFileSaveAs`(const char`*`):%- [_^String^ String]_[* SelectFileSaveAs]([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2;%% Selects file for saving, [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
[s2; Selects file for saving, [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. If selections is canceled, returns empty
|
||||
String.&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:SelectLoadFile`(const char`*`): [_^String^ String]_[* SelectLoadFile]([@(0.0.255) cons
|
||||
t]_[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2;%% Selects file and loads it, [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:SelectLoadFile`(const char`*`):%- [_^String^ String]_[* SelectLoadFile]([@(0.0.255) co
|
||||
nst]_[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2; Selects file and loads it, [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. If selections is canceled or file cannot
|
||||
be opened, returns empty String`::GetVoid().&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:SelectSaveFile`(const char`*`,const String`&`): [@(0.0.255) bool]_[* SelectSaveFile](
|
||||
[@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 types], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&
|
||||
]_[*@3 data])&]
|
||||
[s2;%% Selects file and saves [%-*@3 data] to it, [%-*@3 types] follow
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:SelectSaveFile`(const char`*`,const String`&`):%- [@(0.0.255) bool]_[* SelectSaveFil
|
||||
e]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 types], [@(0.0.255) const]_[_^String^ String
|
||||
][@(0.0.255) `&]_[*@3 data])&]
|
||||
[s2; Selects file and saves [%-*@3 data] to it, [%-*@3 types] follow
|
||||
rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. Returns true on success.&]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@2 SelectFileIn class]]}}&]
|
||||
[s0; &]
|
||||
[s0; This class inherits FileIn. Its constructor invokes global FileSel
|
||||
and opens selected file for reading:&]
|
||||
[s4;H0; &]
|
||||
[s5;:SelectFileIn`:`:SelectFileIn`(const char`*`): [* SelectFileIn]([@(0.0.255) const]_[@(0.0.255) c
|
||||
har]_`*[*@3 types])&]
|
||||
[s2;%% [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. In case of any failure (selection is
|
||||
canceled, open fails), the resulting object is not in opened
|
||||
state (can be tested using operator bool).&]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@2 SelectFileOut class]]}}&]
|
||||
[s0; &]
|
||||
[s0; This class inherits FileOut. Its constructor invokes global
|
||||
FileSel and opens selected file for writing:&]
|
||||
[s0; &]
|
||||
[s5;:SelectFileOut`:`:SelectFileOut`(const char`*`): [* SelectFileOut]([@(0.0.255) const]_
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@2 SelectFileIn class]]}}&]
|
||||
[s9;%- This class inherits FileIn. Its constructor invokes global
|
||||
FileSel and opens selected file for reading:&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[s5;:SelectFileIn`:`:SelectFileIn`(const char`*`):%- [* SelectFileIn]([@(0.0.255) const]_
|
||||
[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2;%% [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
[s2; [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. In case of any failure (selection is
|
||||
canceled, open fails), the resulting object is not in opened
|
||||
state (can be tested using operator bool).&]
|
||||
[s0; ]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000@(113.42.0) [s0; [*@2 SelectFileOut class]]}}&]
|
||||
[s9;%- This class inherits FileOut. Its constructor invokes global
|
||||
FileSel and opens selected file for writing:&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[s5;:SelectFileOut`:`:SelectFileOut`(const char`*`):%- [* SelectFileOut]([@(0.0.255) cons
|
||||
t]_[@(0.0.255) char]_`*[*@3 types])&]
|
||||
[s2; [%-*@3 types] follow rules of [^topic`:`/`/CtrlLib`/src`/FileSel`$en`-us`#FileSel`:`:Types`(const char`*`)^ T
|
||||
ypes] method of FileSel. In case of any failure (selection is
|
||||
canceled, open fails), the resulting object is not in opened
|
||||
state (can be tested using operator bool).&]
|
||||
[s3;%- &]
|
||||
[s0;%- ]
|
||||
|
|
@ -14,7 +14,7 @@ topic "LineEdit";
|
|||
[s3; &]
|
||||
[s1;:LineEdit`:`:class: [@(0.0.255)3 class][3 _][*3 LineEdit][3 _:_][@(0.0.255)3 public][3 _][*@3;3 T
|
||||
extCtrl]&]
|
||||
[s9;%% &]
|
||||
[s9;%% A widget used to edit a line of a document one at a time.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Protected Method List]]}}&]
|
||||
|
|
|
|||
|
|
@ -11,23 +11,23 @@ topic "DataDrawer";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0;%- [*@7;4 DataDrawer]]}}&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255)%- &]
|
||||
[s3;%- &]
|
||||
[s1;:DataDrawer`:`:class:%- [@(0.0.255)3 class][3 _][*3 DataDrawer]&]
|
||||
[s2; This abstract class provides the ability to render the binary
|
||||
[s9; This abstract class provides the ability to render the binary
|
||||
data of specific type into Draw output. Each type of binary data
|
||||
has assigned id, which is used in the call to Draw`::DrawData
|
||||
method, to this id there is corresponding registered (using DataDrawer`::Register)
|
||||
class of DataDrawer. Draw`::DrawData creates and instance of
|
||||
this class and uses it to render the binary data as one or more
|
||||
ImageBuffer pixel arrays.&]
|
||||
[s2; &]
|
||||
[s2; Draw package predefines DataDrawer registered with id `"image`_data`".
|
||||
[s9; Draw package predefines DataDrawer registered with id `"image`_data`".
|
||||
This represents Image binary encoded with any encoding supported
|
||||
by actually included image format plugins like plugin/bmp or
|
||||
plugin/jpg.&]
|
||||
[s2; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:DataDrawer`:`:Open`(const String`&`,int`,int`):%- [*@(0.0.255) virtual][*
|
||||
][*@(0.0.255) void][* _Open]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data],
|
||||
[@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])_`=_[@3 0]&]
|
||||
|
|
|
|||
|
|
@ -1,23 +1,25 @@
|
|||
topic "Display";
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[0 $$7,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$8,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[0 $$3,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
||||
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Display]]}}&]
|
||||
[s8;H0;%- &]
|
||||
[s1;:Display`:`:class:%- [@(0.0.255) class][@0 _Display]&]
|
||||
[s2; Display and Display`-derived classes render Value into the specified
|
||||
[s3;%- &]
|
||||
[s1;:Display`:`:class:%- [@(0.0.255) class]_Display&]
|
||||
[s9; Display and Display`-derived classes render Value into the specified
|
||||
rectangular area. References to Displays are used in many widgets
|
||||
as attributes affecting the rendering of widget Values. Default
|
||||
implementation uses StdDisplay to perform all actions (see below
|
||||
for StdDisplay description).&]
|
||||
[s2; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; [* Visual style constants ]are used as `"style`" parameter bit
|
||||
flags of rendering methods and provide additional information
|
||||
about required visual appearance:&]
|
||||
|
|
@ -28,32 +30,32 @@ focus.&]
|
|||
[s0;l288;:Display`:`:SELECT:~~~.1408;%- [* SELECT]-|Gui element is selected.&]
|
||||
[s0;l288;:Display`:`:READONLY:~~~.1408;%- [* READONLY]-|Gui element
|
||||
is read`-only.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:Display`:`:Paint`(Draw`&`,const Rect`&`,const Value`&`,Color`,Color`,dword`)const:%- [@(0.0.255) v
|
||||
irtual][@0 ][@(0.0.255) void][@0 _Paint(][_^Draw^@0 Draw][@(0.0.255) `&][@0 _][@3 w][@0 ,
|
||||
][@(0.0.255) const][@0 _][_^Rect^@0 Rect][@(0.0.255) `&][@0 _][@3 r][@0 , ][@(0.0.255) const][@0 _][_^Value^@0 V
|
||||
alue][@(0.0.255) `&][@0 _][@3 q][@0 , ][_^Color^@0 Color][@0 _][@3 ink][@0 ,
|
||||
][_^Color^@0 Color][@0 _][@3 paper][@0 , ][_^dword^@0 dword][@0 _][@3 style][@0 )_][@(0.0.255) cons
|
||||
t]&]
|
||||
irtual] [@(0.0.255) void]_Paint([_^Draw^ Draw][@(0.0.255) `&]_[@3 w],
|
||||
[@(0.0.255) const]_[_^Rect^ Rect][@(0.0.255) `&]_[@3 r], [@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&
|
||||
]_[@3 q], [_^Color^ Color]_[@3 ink], [_^Color^ Color]_[@3 paper], [_^dword^ dword]_[@3 style])_
|
||||
[@(0.0.255) const]&]
|
||||
[s2; This virtual method is used to paint rectangle content according
|
||||
to specified Value. Note that it is OK for derived class to understand
|
||||
just Value types it was designed for (and crash otherwise) `-
|
||||
it is client code responsibility to use the correct Display.&]
|
||||
[s4; [%-*C@3 w]-|Draw.&]
|
||||
[s4; [%-*C@3 r]-|Target rectangle.&]
|
||||
[s4; [%-*C@3 q]-|Value to be painted.&]
|
||||
[s4; [%-*C@3 ink]-|Suggested foreground color.&]
|
||||
[s4; [%-*C@3 paper]-|Suggested background color.&]
|
||||
[s4; [%-*C@3 style]-|Visual style.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s7; [%-*C@3 w]-|Draw.&]
|
||||
[s7; [%-*C@3 r]-|Target rectangle.&]
|
||||
[s7; [%-*C@3 q]-|Value to be painted.&]
|
||||
[s7; [%-*C@3 ink]-|Suggested foreground color.&]
|
||||
[s7; [%-*C@3 paper]-|Suggested background color.&]
|
||||
[s7; [%-*C@3 style]-|Visual style.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Display`:`:PaintBackground`(Draw`&`,const Rect`&`,const Value`&`,Color`,Color`,dword`)const:%- [@(0.0.255) v
|
||||
irtual][@0 ][@(0.0.255) void][@0 _PaintBackground(][_^Draw^@0 Draw][@(0.0.255) `&][@0 _][@3 w][@0 ,
|
||||
][@(0.0.255) const][@0 _][_^Rect^@0 Rect][@(0.0.255) `&][@0 _][@3 r][@0 ,
|
||||
][@(0.0.255) const][@0 _][_^Value^@0 Value][@(0.0.255) `&][@0 _][@3 q][@0 ,
|
||||
][_^Color^@0 Color][@0 _][@3 ink][@0 , ][_^Color^@0 Color][@0 _][@3 paper][@0 ,
|
||||
][_^dword^@0 dword][@0 _][@3 style][@0 )_][@(0.0.255) const]&]
|
||||
irtual] [@(0.0.255) void]_PaintBackground([_^Draw^ Draw][@(0.0.255) `&]_[@3 w],
|
||||
[@(0.0.255) const]_[_^Rect^ Rect][@(0.0.255) `&]_[@3 r], [@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&
|
||||
]_[@3 q], [_^Color^ Color]_[@3 ink], [_^Color^ Color]_[@3 paper], [_^dword^ dword]_[@3 style])_
|
||||
[@(0.0.255) const]&]
|
||||
[s2; This virtual method is used to paint areas of GUI element that
|
||||
are outside of rectangle specified in Paint method, but should
|
||||
have color related somewhat to current Display class `- usually
|
||||
|
|
@ -61,168 +63,172 @@ this color is the same as background painted in Paint. (Note
|
|||
that Paint method must clear the background separately, although
|
||||
base Display class is defined to use PaintBackground for this
|
||||
task).&]
|
||||
[s4; [%-*C@3 w]-|Draw.&]
|
||||
[s4; [%-*C@3 r]-|Target rectangle.&]
|
||||
[s4; [%-*C@3 q]-|Value to be painted.&]
|
||||
[s4; [%-*C@3 ink]-|Suggested foreground color.&]
|
||||
[s4; [%-*C@3 paper]-|Suggested background color.&]
|
||||
[s4; [%-*C@3 style]-|Visual style.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:Display`:`:GetStdSize`(const Value`&`)const:%- [@(0.0.255) virtual][@0
|
||||
][_^Size^@0 Size][@0 _GetStdSize(][@(0.0.255) const][@0 _][_^Value^@0 Value][@(0.0.255) `&][@0 _
|
||||
][@3 q][@0 )_][@(0.0.255) const]&]
|
||||
[s7; [%-*C@3 w]-|Draw.&]
|
||||
[s7; [%-*C@3 r]-|Target rectangle.&]
|
||||
[s7; [%-*C@3 q]-|Value to be painted.&]
|
||||
[s7; [%-*C@3 ink]-|Suggested foreground color.&]
|
||||
[s7; [%-*C@3 paper]-|Suggested background color.&]
|
||||
[s7; [%-*C@3 style]-|Visual style.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Display`:`:GetStdSize`(const Value`&`)const:%- [@(0.0.255) virtual]
|
||||
[_^Size^ Size]_GetStdSize([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_[@3 q])_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2; Should return standard size for given value and Display. E.g.
|
||||
if Display is rendering Images, it should return the Size of
|
||||
the Image in pixels. Base Display returns the size of textual
|
||||
representation of the Value.&]
|
||||
[s4; [%-*C@3 q]-|Value.&]
|
||||
[s4; [*/ Return value]-|Size of Value for Display.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:Display`:`:RatioSize`(const Value`&`,int`,int`)const:%- [@(0.0.255) virtual][@0
|
||||
][_^Size^@0 Size][@0 _RatioSize(][@(0.0.255) const][@0 _][_^Value^@0 Value][@(0.0.255) `&][@0 _
|
||||
][@3 q][@0 , ][@(0.0.255) int][@0 _][@3 cx][@0 , ][@(0.0.255) int][@0 _][@3 cy][@0 )_][@(0.0.255) const
|
||||
]&]
|
||||
[s7; [%-*C@3 q]-|Value.&]
|
||||
[s7; [*/ Return value]-|Size of Value for Display.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:Display`:`:RatioSize`(const Value`&`,int`,int`)const:%- [@(0.0.255) virtual]
|
||||
[_^Size^ Size]_RatioSize([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_[@3 q],
|
||||
[@(0.0.255) int]_[@3 cx], [@(0.0.255) int]_[@3 cy])_[@(0.0.255) const]&]
|
||||
[s2; Returns size for defined value keeping the aspect ratio.&]
|
||||
[s4; [%-*C@3 q]-|Value.&]
|
||||
[s4; [%-*C@3 cx]-|Required width. If zero, it should be computed to
|
||||
[s7; [%-*C@3 q]-|Value.&]
|
||||
[s7; [%-*C@3 cx]-|Required width. If zero, it should be computed to
|
||||
keep aspect ratio with cy.&]
|
||||
[s4; [%-*C@3 cy]-|Required height. If zero, it should be computed to
|
||||
[s7; [%-*C@3 cy]-|Required height. If zero, it should be computed to
|
||||
keep aspect ratio with cx.&]
|
||||
[s4; [*/ Return value]-|Size of Value for Display.&]
|
||||
[s7; [*/ Return value]-|Size of Value for Display.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0;%- &]
|
||||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 AttrText]]}}&]
|
||||
[s0; &]
|
||||
[s8;H0;%- &]
|
||||
[s1;:AttrText`:`:struct:%- [@(0.0.255) struct][@0 _AttrText]&]
|
||||
[s2; Simple helper class convertible to the Value. StdDisplay, StdRightDisplay
|
||||
[s3; &]
|
||||
[s1;:AttrText`:`:struct:%- [@(0.0.255) struct]_AttrText&]
|
||||
[s9; Simple helper class convertible to the Value. StdDisplay, StdRightDisplay
|
||||
and StdCenterDisplay detect whether Value passed in is of AttrText
|
||||
type and handle it differently by adopting non`-null attributes
|
||||
for the text painted.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:text:%- [_^WString^@0 WString][@0 _text]&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Member List]]}}&]
|
||||
[s3;%- &]
|
||||
[s5;:AttrText`:`:text:%- [_^WString^ WString]_text&]
|
||||
[s2; Text to be displayed.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:font:%- [_^Font^@0 Font][@0 _font]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:font:%- [_^Font^ Font]_font&]
|
||||
[s2; Font of text.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:ink:%- [_^Color^@0 Color][@0 _ink]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:ink:%- [_^Color^ Color]_ink&]
|
||||
[s2; Text color.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:paper:%- [_^Color^@0 Color][@0 _paper]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:paper:%- [_^Color^ Color]_paper&]
|
||||
[s2; Background color&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:align:%- [@(0.0.255) int][@0 _align]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:align:%- [@(0.0.255) int]_align&]
|
||||
[s2; Current alignment. Can be one of ALIGN`_LEFT, ALIGN`_RIGHT,
|
||||
ALIGN`_CENTER.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:img:%- [_^Image^@0 Image][@0 _img]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:img:%- [_^Image^ Image]_img&]
|
||||
[s2; Icon aligned to the left side.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:imgspc:%- [@(0.0.255) int][@0 _imgspc]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:imgspc:%- [@(0.0.255) int]_imgspc&]
|
||||
[s2; Space between icon and text.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Set`(const char`*`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Set(][@(0.0.255) c
|
||||
onst][@0 _][@(0.0.255) char][@0 _`*][@3 s][@0 )]&]
|
||||
[s5;:AttrText`:`:Set`(const wchar`*`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Set(][@(0.0.255) c
|
||||
onst][@0 _][_^wchar^@0 wchar][@0 _`*][@3 s][@0 )]&]
|
||||
[s5;:AttrText`:`:Set`(const WString`&`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Set(
|
||||
][@(0.0.255) const][@0 _][_^WString^@0 WString][@(0.0.255) `&][@0 _][@3 s][@0 )]&]
|
||||
[s5;:AttrText`:`:operator`=`(const char`*`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _
|
||||
operator`=(][@(0.0.255) const][@0 _][@(0.0.255) char][@0 _`*][@3 s][@0 )]&]
|
||||
[s5;:AttrText`:`:operator`=`(const wchar`*`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _
|
||||
operator`=(][@(0.0.255) const][@0 _][_^wchar^@0 wchar][@0 _`*][@3 s][@0 )]&]
|
||||
[s5;:AttrText`:`:operator`=`(const WString`&`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _
|
||||
operator`=(][@(0.0.255) const][@0 _][_^WString^@0 WString][@(0.0.255) `&][@0 _][@3 s][@0 )]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Set`(const char`*`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Set([@(0.0.255) c
|
||||
onst]_[@(0.0.255) char]_`*[@3 s])&]
|
||||
[s5;:AttrText`:`:Set`(const wchar`*`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Set([@(0.0.255) c
|
||||
onst]_[_^wchar^ wchar]_`*[@3 s])&]
|
||||
[s5;:AttrText`:`:Set`(const WString`&`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Set([@(0.0.255) c
|
||||
onst]_[_^WString^ WString][@(0.0.255) `&]_[@3 s])&]
|
||||
[s5;:AttrText`:`:operator`=`(const char`*`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_oper
|
||||
ator`=([@(0.0.255) const]_[@(0.0.255) char]_`*[@3 s])&]
|
||||
[s5;:AttrText`:`:operator`=`(const wchar`*`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_ope
|
||||
rator`=([@(0.0.255) const]_[_^wchar^ wchar]_`*[@3 s])&]
|
||||
[s5;:AttrText`:`:operator`=`(const WString`&`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_o
|
||||
perator`=([@(0.0.255) const]_[_^WString^ WString][@(0.0.255) `&]_[@3 s])&]
|
||||
[s2; Sets the text to [%-*@3 s].&]
|
||||
[s7; &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Ink`(Color`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Ink(][_^Color^@0 C
|
||||
olor][@0 _][@3 c][@0 )]&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Ink`(Color`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Ink([_^Color^ Color]_
|
||||
[@3 c])&]
|
||||
[s2; Sets the text color.&]
|
||||
[s4; [%-*C@3 c]-|The color.&]
|
||||
[s4; [*/ Return value]-|`*this.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Paper`(Color`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Paper(][_^Color^@0 C
|
||||
olor][@0 _][@3 c][@0 )]&]
|
||||
[s7; [%-*C@3 c]-|The color.&]
|
||||
[s7; [*/ Return value]-|`*this.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Paper`(Color`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Paper([_^Color^ Co
|
||||
lor]_[@3 c])&]
|
||||
[s2; Sets the paper color.&]
|
||||
[s4; [%-*C@3 c]-|The color.&]
|
||||
[s4; [*/ Return value]-|`*this.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:SetFont`(Font`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _SetFont(][_^Font^@0 F
|
||||
ont][@0 _][@3 f][@0 )]&]
|
||||
[s7; [%-*C@3 c]-|The color.&]
|
||||
[s7; [*/ Return value]-|`*this.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:SetFont`(Font`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_SetFont([_^Font^ F
|
||||
ont]_[@3 f])&]
|
||||
[s2; Sets the font.&]
|
||||
[s4; [%-*C@3 f]-|The font.&]
|
||||
[s4; [*/ Return value]-|`*this.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Align`(int`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Align(][@(0.0.255) i
|
||||
nt][@0 _][@3 a][@0 )]&]
|
||||
[s7; [%-*C@3 f]-|The font.&]
|
||||
[s7; [*/ Return value]-|`*this.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Align`(int`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Align([@(0.0.255) in
|
||||
t]_[@3 a])&]
|
||||
[s2; Sets the text horizontal alignment. Approved values are ALIGN`_LEFT,
|
||||
ALIGN`_CENTER and ALIGN`_RIGHT.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Left`(`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Left()]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Left`(`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Left()&]
|
||||
[s2; Aligns the text left.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Center`(`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Center()]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Center`(`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Center()&]
|
||||
[s2; Aligns the text to the center.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:Right`(`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&][@0 _Right()]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:Right`(`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_Right()&]
|
||||
[s2; Aligns the text right.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:SetImage`(const Image`&`,int`):%- [_^AttrText^@0 AttrText][@(0.0.255) `&
|
||||
][@0 _SetImage(][@(0.0.255) const][@0 _][_^Image^@0 Image][@(0.0.255) `&][@0 _][@3 m][@0 ,
|
||||
][@(0.0.255) int][@0 _][@3 spc][@0 _`=_][@3 4][@0 )]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:SetImage`(const Image`&`,int`):%- [_^AttrText^ AttrText][@(0.0.255) `&]_
|
||||
SetImage([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[@3 m], [@(0.0.255) int]_[@3 spc]_
|
||||
`=_[@3 4])&]
|
||||
[s2; Sets the icon and space between the icon and text.&]
|
||||
[s7; &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:operator Value`(`)const:%- [@0 operator_Value()_][@(0.0.255) const]&]
|
||||
[s4; [*/ Return value]-|AttrText as raw Value.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(const char`*`):%- [@0 AttrText(][@(0.0.255) const][@0 _][@(0.0.255) c
|
||||
har][@0 _`*][@3 text][@0 )]&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:operator Value`(`)const:%- operator_Value()_[@(0.0.255) const]&]
|
||||
[s7; [*/ Return value]-|AttrText as raw Value.&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(const char`*`):%- AttrText([@(0.0.255) const]_[@(0.0.255) char
|
||||
]_`*[@3 text])&]
|
||||
[s2; Constructs AttrText, assigning the text attribute and all other
|
||||
attributes to zero.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(const wchar`*`):%- [@0 AttrText(][@(0.0.255) const][@0 _][_^wchar^@0 w
|
||||
char][@0 _`*][@3 text][@0 )]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(const wchar`*`):%- AttrText([@(0.0.255) const]_[_^wchar^ wchar
|
||||
]_`*[@3 text])&]
|
||||
[s2; Constructs AttrText, assigning the text attribute and all other
|
||||
attributes to zero.&]
|
||||
[s7;%- &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(const WString`&`):%- [@0 AttrText(][@(0.0.255) const][@0 _][_^WString^@0 W
|
||||
String][@(0.0.255) `&][@0 _][@3 text][@0 )]&]
|
||||
[s3;%- &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(const WString`&`):%- AttrText([@(0.0.255) const]_[_^WString^ W
|
||||
String][@(0.0.255) `&]_[@3 text])&]
|
||||
[s2; Constructs AttrText, assigning the text attribute and all other
|
||||
attributes to zero.&]
|
||||
[s7; &]
|
||||
[s8;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(`):%- [@0 AttrText()]&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:AttrText`:`:AttrText`(`):%- AttrText()&]
|
||||
[s2; Default constructor.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0;%- &]
|
||||
[ {{10000t/25b/25@3 [s0;%- [*@(229)4 Standard displays]]}}&]
|
||||
[s0; &]
|
||||
[s0; Standard Displays are implemented as `"functional globals`"
|
||||
[s9; Standard Displays are implemented as `"functional globals`"
|
||||
`- functions returning constant reference to single global Display
|
||||
instance.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{3530:6470h1;@(204) [s0; Display name]
|
||||
:: [s0; Description]
|
||||
|
|
@ -253,8 +259,5 @@ corner.]
|
|||
border.]
|
||||
::^ [s0;:DrawingDisplay: [* DrawingDisplay]]
|
||||
::= [s0; Displays Drawing scaled to fit the rectangle.]}}&]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,9 +11,9 @@ topic "Draw";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000t/25b/25@3 [s0; [*@(229)4 Draw]]}}&]
|
||||
[s0;3 &]
|
||||
[s3; &]
|
||||
[s1;:Draw`:`:class: [@(0.0.255)3 class][3 _][*3 Draw][3 _:_][@(0.0.255)3 private][3 _][*@3;3 NoCopy]&]
|
||||
[s2;%% The class provides an abstract interface to basic graphical
|
||||
[s9;%% The class provides an abstract interface to basic graphical
|
||||
output, possibly HW accelerated. Whenever you need to paint something
|
||||
in a window, you need a Draw object for it. The standard Paint
|
||||
method of the Ctrl class takes a Draw`& parameter as well. In
|
||||
|
|
@ -25,29 +25,26 @@ Drawings (vector metafiles used for serialization of graphical
|
|||
operations) or to perform printer output. You can also use a
|
||||
Draw to query some graphics`-related properties, like the size
|
||||
of output area or native resolution.&]
|
||||
[s2;%% &]
|
||||
[s2;%% When Draw represents screen output, all metrics are always
|
||||
[s9;%% When Draw represents screen output, all metrics are always
|
||||
in pixels. If Draw represents any physical device (like printer),
|
||||
it uses artificial unit, `"dot`", by default, which is equivalent
|
||||
to 1/600 of inch. In other words, it is the same as pixels size
|
||||
of 600dpi printer (standard printer resolution).&]
|
||||
[s2;%% &]
|
||||
[s2;%% However, it is also possible to switch to `"Native`" mode
|
||||
[s9;%% However, it is also possible to switch to `"Native`" mode
|
||||
in some cases. In that case, Draw works in `"native`" pixels,
|
||||
for example 1/720 inch for some printers. Draw provides necessary
|
||||
metrics information to adjust graphic output.&]
|
||||
[s2;%% &]
|
||||
[s2;%% Some methods have several overloaded variants, for example
|
||||
[s9;%% Some methods have several overloaded variants, for example
|
||||
DrawRect has variants that specify the rectangle using Rect type
|
||||
or x, y, cx, cy coordinates. In that case, implementation is
|
||||
provided by single abstract virtual backend method ending with
|
||||
Op (DrawRectOp) and non`-virtual frontend methods are then used
|
||||
to provide overloading (via parameter translation to backend
|
||||
method parameters).&]
|
||||
[s2;%% &]
|
||||
[s2;%% Painting outside the output size is always legal `- necessary
|
||||
[s9;%% Painting outside the output size is always legal `- necessary
|
||||
clipping is performed in that case.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Draw`:`:GetInfo`(`)const: [@(0.0.255) virtual] [_^dword^ dword]_[* GetInfo]()_[@(0.0.255) c
|
||||
|
|
@ -595,28 +592,23 @@ oid]_[* DrawPolyPolyline]([@(0.0.255) const]_[_^Point^ Point]_`*[*@3 vertices],
|
|||
[@(0.0.255) int]_[*@3 vertex`_count], [@(0.0.255) const]_[@(0.0.255) int]_`*[*@3 counts],
|
||||
[@(0.0.255) int]_[*@3 count`_count], [@(0.0.255) int]_[*@3 width]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 color]_`=_DefaultInk, [_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 vertex`_count] [%-*@3 counts] [%-*@3 count`_count]
|
||||
[%-*@3 width] [%-*@3 color] [%-*@3 doxor].&]
|
||||
[s5;:Draw`:`:DrawPolyPolyline`(const Vector`<Point`>`&`,const Vector`<int`>`&`,int`,Color`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolyPolyline]([@(0.0.255) const]_[_^Vector^ Vector]<[_^Point^ Point]>`&_[*@3 ve
|
||||
rtices], [@(0.0.255) const]_[_^Vector^ Vector]<[@(0.0.255) int]>`&_[*@3 counts],
|
||||
[@(0.0.255) int]_[*@3 width]_`=_[@3 0], [_^Color^ Color]_[*@3 color]_`=_DefaultInk,
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 counts] [%-*@3 width] [%-*@3 color] [%-*@3 doxor].&]
|
||||
[s2;%% Draws multiple polylines (polygon without filling).&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:Draw`:`:DrawPolyline`(const Point`*`,int`,int`,Color`,Color`): [@(0.0.255) void]_[* D
|
||||
rawPolyline]([@(0.0.255) const]_[_^Point^ Point]_`*[*@3 vertices],
|
||||
[@(0.0.255) int]_[*@3 count], [@(0.0.255) int]_[*@3 width]_`=_[@3 0], [_^Color^ Color]_[*@3 col
|
||||
or]_`=_DefaultInk, [_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 count] [%-*@3 width] [%-*@3 color] [%-*@3 doxor].&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:Draw`:`:DrawPolyline`(const Vector`<Point`>`&`,int`,Color`,Color`): [@(0.0.255) vo
|
||||
id]_[* DrawPolyline]([@(0.0.255) const]_[_^Vector^ Vector]<[_^Point^ Point]>`&_[*@3 vertice
|
||||
s], [@(0.0.255) int]_[*@3 width]_`=_[@3 0], [_^Color^ Color]_[*@3 color]_`=_DefaultInk,
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 width] [%-*@3 color] [%-*@3 doxor].&]
|
||||
[s2;%% Draws a polyline (polygon without filling).&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:Draw`:`:DrawPolyPolyPolygon`(const Point`*`,int`,const int`*`,int`,const int`*`,int`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
|
|
@ -627,10 +619,6 @@ nt]_`*[*@3 disjunct`_polygon`_counts], [@(0.0.255) int]_[*@3 disjunct`_polygon`_
|
|||
count], [_^Color^ Color]_[*@3 color]_`=_DefaultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 outline]_`=_Null, [_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 vertex`_count] [%-*@3 subpolygon`_counts]
|
||||
[%-*@3 subpolygon`_count`_count] [%-*@3 disjunct`_polygon`_counts]
|
||||
[%-*@3 disjunct`_polygon`_count`_count] [%-*@3 color] [%-*@3 width]
|
||||
[%-*@3 outline] [%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s5;:Draw`:`:DrawPolyPolyPolygon`(const Vector`<Point`>`&`,const Vector`<int`>`&`,const Vector`<int`>`&`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolyPolyPolygon]([@(0.0.255) const]_[_^Vector^ Vector]<[_^Point^ Point]>`&_[*@3 v
|
||||
ertices], [@(0.0.255) const]_[_^Vector^ Vector]<[@(0.0.255) int]>`&_[*@3 subpolygon`_coun
|
||||
|
|
@ -638,25 +626,22 @@ ts], [@(0.0.255) const]_[_^Vector^ Vector]<[@(0.0.255) int]>`&_[*@3 disjunct`_po
|
|||
unts], [_^Color^ Color]_[*@3 color]_`=_DefaultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 outline]_`=_Null, [_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 subpolygon`_counts] [%-*@3 disjunct`_polygon`_counts]
|
||||
[%-*@3 color] [%-*@3 width] [%-*@3 outline] [%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s2; Draws poly`-poly`-polygon.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Draw`:`:DrawPolyPolygon`(const Point`*`,int`,const int`*`,int`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolyPolygon]([@(0.0.255) const]_[_^Point^ Point]_`*[*@3 vertices],
|
||||
[@(0.0.255) int]_[*@3 vertex`_count], [@(0.0.255) const]_[@(0.0.255) int]_`*[*@3 subpolygon
|
||||
`_counts], [@(0.0.255) int]_[*@3 subpolygon`_count`_count], [_^Color^ Color]_[*@3 color]_
|
||||
`=_DefaultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0], [_^Color^ Color]_[*@3 outline]_`=_Nu
|
||||
ll, [_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0], [_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 vertex`_count] [%-*@3 subpolygon`_counts]
|
||||
[%-*@3 subpolygon`_count`_count] [%-*@3 color] [%-*@3 width] [%-*@3 outline]
|
||||
[%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s5;:Draw`:`:DrawPolyPolygon`(const Vector`<Point`>`&`,const Vector`<int`>`&`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolyPolygon]([@(0.0.255) const]_[_^Vector^ Vector]<[_^Point^ Point]>`&_[*@3 ver
|
||||
tices], [@(0.0.255) const]_[_^Vector^ Vector]<[@(0.0.255) int]>`&_[*@3 subpolygon`_counts
|
||||
], [_^Color^ Color]_[*@3 color]_`=_DefaultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 outline]_`=_Null, [_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 subpolygon`_counts] [%-*@3 color] [%-*@3 width]
|
||||
[%-*@3 outline] [%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s2;%% Draws poly`-polygon.&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:Draw`:`:DrawPolygons`(const Point`*`,int`,const int`*`,int`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
|
|
@ -665,32 +650,26 @@ oid]_[* DrawPolygons]([@(0.0.255) const]_[_^Point^ Point]_`*[*@3 vertices],
|
|||
ounts], [@(0.0.255) int]_[*@3 polygon`_count`_count], [_^Color^ Color]_[*@3 color]_`=_Def
|
||||
aultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0], [_^Color^ Color]_[*@3 outline]_`=_Null,
|
||||
[_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0], [_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 vertex`_count] [%-*@3 polygon`_counts]
|
||||
[%-*@3 polygon`_count`_count] [%-*@3 color] [%-*@3 width] [%-*@3 outline]
|
||||
[%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s5;:Draw`:`:DrawPolygons`(const Vector`<Point`>`&`,const Vector`<int`>`&`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolygons]([@(0.0.255) const]_[_^Vector^ Vector]<[_^Point^ Point]>`&_[*@3 vertic
|
||||
es], [@(0.0.255) const]_[_^Vector^ Vector]<[@(0.0.255) int]>`&_[*@3 polygon`_counts],
|
||||
[_^Color^ Color]_[*@3 color]_`=_DefaultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 outline]_`=_Null, [_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 polygon`_counts] [%-*@3 color] [%-*@3 width]
|
||||
[%-*@3 outline] [%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s2;%% Draws multiple polygons.&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:Draw`:`:DrawPolygon`(const Point`*`,int`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolygon]([@(0.0.255) const]_[_^Point^ Point]_`*[*@3 vertices],
|
||||
[@(0.0.255) int]_[*@3 vertex`_count], [_^Color^ Color]_[*@3 color]_`=_DefaultInk,
|
||||
[@(0.0.255) int]_[*@3 width]_`=_[@3 0], [_^Color^ Color]_[*@3 outline]_`=_Null,
|
||||
[_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0], [_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 vertex`_count] [%-*@3 color] [%-*@3 width]
|
||||
[%-*@3 outline] [%-*@3 pattern] [%-*@3 doxor].&]
|
||||
[s5;:Draw`:`:DrawPolygon`(const Vector`<Point`>`&`,Color`,int`,Color`,uint64`,Color`): [@(0.0.255) v
|
||||
oid]_[* DrawPolygon]([@(0.0.255) const]_[_^Vector^ Vector]<[_^Point^ Point]>`&_[*@3 vertice
|
||||
s], [_^Color^ Color]_[*@3 color]_`=_DefaultInk, [@(0.0.255) int]_[*@3 width]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 outline]_`=_Null, [_^uint64^ uint64]_[*@3 pattern]_`=_[@3 0],
|
||||
[_^Color^ Color]_[*@3 doxor]_`=_Null)&]
|
||||
[s2;%% [%-*@3 vertices] [%-*@3 color] [%-*@3 width] [%-*@3 outline] [%-*@3 pattern]
|
||||
[%-*@3 doxor].&]
|
||||
[s2;%% Draws a polygon.&]
|
||||
[s3;%% &]
|
||||
[s4;%% &]
|
||||
[s5;:Draw`:`:DrawDrawing`(const Rect`&`,const Drawing`&`): [@(0.0.255) void]_[* DrawDrawi
|
||||
|
|
@ -787,4 +766,5 @@ default charset is used. Implemented using DrawTextOp.&]
|
|||
[@(0.0.255) double`&]_[*@3 cosa])&]
|
||||
[s2;%% This simple utility function computes sin(angle) and cos(angle),
|
||||
where the full angle (2[%- π) ]is 3600.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -15,17 +15,18 @@ topic "Drawing";
|
|||
[s1;:Drawing`:`:class: [@(0.0.255)3 class][3 _][*3 Drawing][3 _:_][@(0.0.255)3 private][3 _][*@3;3 A
|
||||
ssignValueTypeNo][3 <][*3 Drawing][3 , ][@3;3 49][3 , ][_^Moveable^3 Moveable][3 <][*3 Drawing][3 >
|
||||
_>_]&]
|
||||
[s2;%% This concrete class, with full value semantics (with fast
|
||||
[s9;%% This concrete class, with full value semantics (with fast
|
||||
deep copy) represents a record of Draw drawing operations that
|
||||
can be replayed at any time. In other words, Drawing is a sort
|
||||
of vector format. To create Drawing, use [^DrawingDraw^ DrawingDraw]
|
||||
class.&]
|
||||
[s2;%% Drawing is Value compatible with `"rich`" feature set `- as
|
||||
[s9;%% Drawing is Value compatible with `"rich`" feature set `- as
|
||||
Value it supports equality comparisons, serialization, Null compatibility
|
||||
and hash`-value support.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:Drawing`:`:operator bool`(`)const: [* operator_bool]()_[@(0.0.255) const]&]
|
||||
[s2;%% True if Drawing is non`-empty.&]
|
||||
[s3; &]
|
||||
|
|
@ -87,9 +88,10 @@ onst]&]
|
|||
[s5;:Drawing`:`:operator Value`(`)const: [* operator_Value]()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns Drawing as Value `- Drawing is `"rich`" Value, supporting
|
||||
operator`=`=, hashing, Null and serialization.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s0; &]
|
||||
[s3; &]
|
||||
[s5;:Drawing`:`:Drawing`(const Value`&`): [* Drawing]([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&
|
||||
]_[*@3 src])&]
|
||||
[s2;%% Deep copy constructor.&]
|
||||
|
|
@ -102,4 +104,5 @@ operator`=`=, hashing, Null and serialization.&]
|
|||
[s5;:Drawing`:`:Drawing`(const Nuller`&`): [* Drawing]([@(0.0.255) const]_[_^Nuller^ Nuller
|
||||
][@(0.0.255) `&])&]
|
||||
[s2; Null constructor (provides Drawing Null).&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -14,11 +14,12 @@ topic "DrawingDraw";
|
|||
[s3;%- &]
|
||||
[s1;:DrawingDraw`:`:class:%- [@(0.0.255)3 class][3 _][*3 DrawingDraw][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Draw]&]
|
||||
[s2; DrawingDraw is a Draw able to store drawing operations of Draw
|
||||
[s9; DrawingDraw is a Draw able to store drawing operations of Draw
|
||||
and to create Drawing value that can be replayed using Draw`::DrawDrawing.&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:DrawingDraw`:`:Create`(int`,int`,bool`):%- [@(0.0.255) void]_[* Create]([@(0.0.255) in
|
||||
t]_[*@3 cx], [@(0.0.255) int]_[*@3 cy], [@(0.0.255) bool]_[*@3 dots]_`=_[@(0.0.255) true])&]
|
||||
[s5;:DrawingDraw`:`:Create`(Size`,bool`):%- [@(0.0.255) void]_[* Create]([_^Size^ Size]_[*@3 s
|
||||
|
|
@ -39,9 +40,10 @@ already any records stored in DrawingDraw, they are cleaned.&]
|
|||
[s4; &]
|
||||
[s5;:DrawingDraw`:`:operator Drawing`(`):%- [* operator_Drawing]()&]
|
||||
[s2; Returns GetResult().&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:DrawingDraw`:`:DrawingDraw`(`):%- [* DrawingDraw]()&]
|
||||
[s2; Default constructor. Create has to be explicitly called on default
|
||||
constructed DrawingDraw.&]
|
||||
|
|
@ -52,4 +54,5 @@ x], [@(0.0.255) int]_[*@3 cy], [@(0.0.255) bool]_[*@3 dots]_`=_[@(0.0.255) true]
|
|||
[s5;:DrawingDraw`:`:DrawingDraw`(Size`,bool`):%- [* DrawingDraw]([_^Size^ Size]_[*@3 sz],
|
||||
[@(0.0.255) bool]_[*@3 dots]_`=_[@(0.0.255) true])&]
|
||||
[s2; Calls Create to start a recording session.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -1,27 +1,28 @@
|
|||
topic "Font";
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,0#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[0 $$7,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$8,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[0 $$3,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
||||
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000t/25b/25@3 [s0; [*@(229)4 Font]]}}&]
|
||||
[s7; &]
|
||||
[s1;:Font`:`:class: [@(0.0.255) class][@0 _Font_:_][@(0.0.255) private][@0 _][@3 AssignValueType
|
||||
No][@0 <Font, FONT`_V, ][_^Moveable^@0 Moveable][@0 <Font>_>]&]
|
||||
[s2;%% Font is a concrete class that describes the appearance of
|
||||
[s3; &]
|
||||
[s1;:Font`:`:class: [@(0.0.255) class]_Font_:_[@(0.0.255) private]_[@3 AssignValueTypeNo]<Fo
|
||||
nt, FONT`_V, [_^Moveable^ Moveable]<Font>_>&]
|
||||
[s9;%% Font is a concrete class that describes the appearance of
|
||||
text. It is Moveable, has cheap copy operation and is Value convertible
|
||||
with rich`-Value abilities.&]
|
||||
[s2;%% It is storing several attributes to describe the text. The
|
||||
[s9;%% It is storing several attributes to describe the text. The
|
||||
corresponding system font is stored in the form of face index
|
||||
`- each system font has specific index value. There are some
|
||||
predefined indexes for common fonts:&]
|
||||
[s0;%% &]
|
||||
[ {{2595:7405<256;^ [s2;l0; [* Font`::STDFONT]]
|
||||
[ {{2595:7405<256;>256;^ [s2;l0; [* Font`::STDFONT]]
|
||||
::= [s2;l0;%% Standard GUI font defined by platform. Can be altered by
|
||||
Draw`::SetStdFont.]
|
||||
::^ [s2;l0; [* Font`::SERIF]]
|
||||
|
|
@ -31,28 +32,28 @@ Draw`::SetStdFont.]
|
|||
::^ [s2;l0; [* Font`::MONOSPACE]]
|
||||
::= [s2;l0;%% Standard fixed pitch font.]}}&]
|
||||
[s2;%% &]
|
||||
[s2;%% Font also provides text metrics services.&]
|
||||
[s7; &]
|
||||
[s9;%% Font also provides text metrics services.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s7; &]
|
||||
[s5;:Font`:`:GetFaceCount`(`): [@(0.0.255) static][@0 ][@(0.0.255) int][@0 _GetFaceCount()]&]
|
||||
[s3; &]
|
||||
[s5;:Font`:`:GetFaceCount`(`): [@(0.0.255) static] [@(0.0.255) int]_GetFaceCount()&]
|
||||
[s2;%% Returns the number of face`-names available.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetFaceName`(int`): [@(0.0.255) static][@0 ][_^String^@0 String][@0 _GetFaceNam
|
||||
e(][@(0.0.255) int][@0 _][@3 index][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetFaceName`(int`): [@(0.0.255) static] [_^String^ String]_GetFaceName([@(0.0.255) i
|
||||
nt]_[@3 index])&]
|
||||
[s2;%% Returns the name of face [%-*@3 index].&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:FindFaceNameIndex`(const String`&`): [@(0.0.255) static][@0
|
||||
][@(0.0.255) int][@0 _FindFaceNameIndex(][@(0.0.255) const][@0 _][_^String^@0 String][@(0.0.255) `&
|
||||
][@0 _][@3 name][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:FindFaceNameIndex`(const String`&`): [@(0.0.255) static]
|
||||
[@(0.0.255) int]_FindFaceNameIndex([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[@3 n
|
||||
ame])&]
|
||||
[s2;%% Finds the face index of face`-[%-*@3 name].&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetFaceInfo`(int`): [@(0.0.255) static][@0 ][_^dword^@0 dword][@0 _GetFaceInfo(
|
||||
][@(0.0.255) int][@0 _][@3 index][@0 )]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetFaceInfo`(int`): [@(0.0.255) static] [_^dword^ dword]_GetFaceInfo([@(0.0.255) i
|
||||
nt]_[@3 index])&]
|
||||
[s2;%% Returns the information about face [%-*@3 index] as combination
|
||||
of binary flags:&]
|
||||
[ {{2587:7413<256;^ [s0; [* Font`::FIXEDPITCH]]
|
||||
|
|
@ -63,280 +64,274 @@ Truetype).]
|
|||
::^ [s0; [* Font`::SPECIAL]]
|
||||
::= [s0;%% Font does not use Unicode encoding (typical for some symbol
|
||||
fonts).]}}&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:SetStdFont`(Font`): [@(0.0.255) static][@0 ][@(0.0.255) void][@0 _SetStdFont(][_^Font^@0 F
|
||||
ont][@0 _][@3 font][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:SetStdFont`(Font`): [@(0.0.255) static] [@(0.0.255) void]_SetStdFont([_^Font^ F
|
||||
ont]_[@3 font])&]
|
||||
[s2;%% Sets the standard font. U`+`+ sets the standard font to match
|
||||
host platform standard. This method can be used to change this
|
||||
default setting.&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetStdFont`(`): [@(0.0.255) static][@0 ][_^Font^@0 Font][@0 _GetStdFont()]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetStdFont`(`): [@(0.0.255) static] [_^Font^ Font]_GetStdFont()&]
|
||||
[s2;%% Returns the standard font.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetStdFontSize`(`): [@(0.0.255) static][@0 ][_^Size^@0 Size][@0 _GetStdFontSize
|
||||
()]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetStdFontSize`(`): [@(0.0.255) static] [_^Size^ Size]_GetStdFontSize()&]
|
||||
[s2;%% Returns metrics of standard font `- height and average width
|
||||
of glyphs.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetFace`(`)const: [@(0.0.255) int][@0 _GetFace()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetFace`(`)const: [@(0.0.255) int]_GetFace()_[@(0.0.255) const]&]
|
||||
[s2;%% Face index of Font.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetHeight`(`)const: [@(0.0.255) int][@0 _GetHeight()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetHeight`(`)const: [@(0.0.255) int]_GetHeight()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the requested height of font.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetWidth`(`)const: [@(0.0.255) int][@0 _GetWidth()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetWidth`(`)const: [@(0.0.255) int]_GetWidth()_[@(0.0.255) const]&]
|
||||
[s2;%% Return the width of font or 0 for default width.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetFaceName`(`)const: [_^String^@0 String][@0 _GetFaceName()]_[@(0.0.255) cons
|
||||
t]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetFaceName`(`)const: [_^String^ String]_GetFaceName()[@(64) _][@(0.0.255) con
|
||||
st]&]
|
||||
[s2;%% Returns the face`-name text for current instance.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetFaceInfo`(`)const: [_^dword^@0 dword][@0 _GetFaceInfo()]_[@(0.0.255) const]&]
|
||||
[s2;%% Same as GetFaceInfo(GetFace()).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:AsInt64`(`)const: [_^int64^@0 int64][@0 _AsInt64()]_[@(0.0.255) const]&]
|
||||
[s2;%% Returns 64`-bit number representing the font.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Face`(int`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Face(][@(0.0.255) int][@0 _][@3 n][@0 )
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetFaceInfo`(`)const: [_^dword^ dword]_GetFaceInfo()[@(64) _][@(0.0.255) const
|
||||
]&]
|
||||
[s2;%% Same as GetFaceInfo(GetFace()).&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:AsInt64`(`)const: [_^int64^ int64]_AsInt64()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% Returns 64`-bit number representing the font.&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Face`(int`): [_^Font^ Font][@(0.0.255) `&]_Face([@(0.0.255) int]_[@3 n])&]
|
||||
[s2;%% Sets the face index.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Height`(int`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Height(][@(0.0.255) int][@0 _][@3 n
|
||||
][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Height`(int`): [_^Font^ Font][@(0.0.255) `&]_Height([@(0.0.255) int]_[@3 n])&]
|
||||
[s2;%% Sets the font height (in pixels/dots).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Width`(int`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Width(][@(0.0.255) int][@0 _][@3 n
|
||||
][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Width`(int`): [_^Font^ Font][@(0.0.255) `&]_Width([@(0.0.255) int]_[@3 n])&]
|
||||
[s2;%% Sets the font width. Use 0 for default width (in pixels/dots).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Bold`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Bold()]&]
|
||||
[s5;:Font`:`:NoBold`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NoBold()]&]
|
||||
[s5;:Font`:`:Bold`(bool`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Bold(][@(0.0.255) bool][@0 _][@3 b
|
||||
][@0 )]&]
|
||||
[s5;:Font`:`:Italic`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Italic()]&]
|
||||
[s5;:Font`:`:NoItalic`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NoItalic()]&]
|
||||
[s5;:Font`:`:Italic`(bool`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Italic(][@(0.0.255) bool][@0 _
|
||||
][@3 b][@0 )]&]
|
||||
[s5;:Font`:`:Underline`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Underline()]&]
|
||||
[s5;:Font`:`:NoUnderline`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NoUnderline()]&]
|
||||
[s5;:Font`:`:Underline`(bool`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Underline(][@(0.0.255) bo
|
||||
ol][@0 _][@3 b][@0 )]&]
|
||||
[s5;:Font`:`:Strikeout`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Strikeout()]&]
|
||||
[s5;:Font`:`:NoStrikeout`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NoStrikeout()]&]
|
||||
[s5;:Font`:`:Strikeout`(bool`): [_^Font^@0 Font][@(0.0.255) `&][@0 _Strikeout(][@(0.0.255) bo
|
||||
ol][@0 _][@3 b][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Bold`(`): [_^Font^ Font][@(0.0.255) `&]_Bold()&]
|
||||
[s5;:Font`:`:NoBold`(`): [_^Font^ Font][@(0.0.255) `&]_NoBold()&]
|
||||
[s5;:Font`:`:Bold`(bool`): [_^Font^ Font][@(0.0.255) `&]_Bold([@(0.0.255) bool]_[@3 b])&]
|
||||
[s5;:Font`:`:Italic`(`): [_^Font^ Font][@(0.0.255) `&]_Italic()&]
|
||||
[s5;:Font`:`:NoItalic`(`): [_^Font^ Font][@(0.0.255) `&]_NoItalic()&]
|
||||
[s5;:Font`:`:Italic`(bool`): [_^Font^ Font][@(0.0.255) `&]_Italic([@(0.0.255) bool]_[@3 b])&]
|
||||
[s5;:Font`:`:Underline`(`): [_^Font^ Font][@(0.0.255) `&]_Underline()&]
|
||||
[s5;:Font`:`:NoUnderline`(`): [_^Font^ Font][@(0.0.255) `&]_NoUnderline()&]
|
||||
[s5;:Font`:`:Underline`(bool`): [_^Font^ Font][@(0.0.255) `&]_Underline([@(0.0.255) bool]_[@3 b
|
||||
])&]
|
||||
[s5;:Font`:`:Strikeout`(`): [_^Font^ Font][@(0.0.255) `&]_Strikeout()&]
|
||||
[s5;:Font`:`:NoStrikeout`(`): [_^Font^ Font][@(0.0.255) `&]_NoStrikeout()&]
|
||||
[s5;:Font`:`:Strikeout`(bool`): [_^Font^ Font][@(0.0.255) `&]_Strikeout([@(0.0.255) bool]_[@3 b
|
||||
])&]
|
||||
[s2; Sets or unsets bold/italic/undeline/strikeout modes.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:NonAntiAliased`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NonAntiAliased()]&]
|
||||
[s5;:Font`:`:NoNonAntiAliased`(`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NoNonAntiAliased()]&]
|
||||
[s5;:Font`:`:NonAntiAliased`(bool`): [_^Font^@0 Font][@(0.0.255) `&][@0 _NonAntiAliased(][@(0.0.255) b
|
||||
ool][@0 _][@3 b][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:NonAntiAliased`(`): [_^Font^ Font][@(0.0.255) `&]_NonAntiAliased()&]
|
||||
[s5;:Font`:`:NoNonAntiAliased`(`): [_^Font^ Font][@(0.0.255) `&]_NoNonAntiAliased()&]
|
||||
[s5;:Font`:`:NonAntiAliased`(bool`): [_^Font^ Font][@(0.0.255) `&]_NonAntiAliased([@(0.0.255) b
|
||||
ool]_[@3 b])&]
|
||||
[s2;%% Sets/unsets non`-anti`-aliased flag. This indicates that anti`-aliasing
|
||||
should not be used when painting the font.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsBold`(`)const: [@(0.0.255) bool][@0 _IsBold()_][@(0.0.255) const]&]
|
||||
[s5;:Font`:`:IsItalic`(`)const: [@(0.0.255) bool][@0 _IsItalic()_][@(0.0.255) const]&]
|
||||
[s5;:Font`:`:IsUnderline`(`)const: [@(0.0.255) bool][@0 _IsUnderline()_][@(0.0.255) const]&]
|
||||
[s5;:Font`:`:IsStrikeout`(`)const: [@(0.0.255) bool][@0 _IsStrikeout()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsBold`(`)const: [@(0.0.255) bool]_IsBold()_[@(0.0.255) const]&]
|
||||
[s5;:Font`:`:IsItalic`(`)const: [@(0.0.255) bool]_IsItalic()_[@(0.0.255) const]&]
|
||||
[s5;:Font`:`:IsUnderline`(`)const: [@(0.0.255) bool]_IsUnderline()_[@(0.0.255) const]&]
|
||||
[s5;:Font`:`:IsStrikeout`(`)const: [@(0.0.255) bool]_IsStrikeout()_[@(0.0.255) const]&]
|
||||
[s2; Tests whether bold/italic/underline/strikeout is active.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsNonAntiAliased`(`)const: [@(0.0.255) bool][@0 _IsNonAntiAliased()_][@(0.0.255) c
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsNonAntiAliased`(`)const: [@(0.0.255) bool]_IsNonAntiAliased()_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% True if NonAntiAliased is active.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:FaceName`(const String`&`): [_^Font^@0 Font][@(0.0.255) `&][@0 _FaceName(][@(0.0.255) c
|
||||
onst][@0 _][_^String^@0 String][@(0.0.255) `&][@0 _][@3 name][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:FaceName`(const String`&`): [_^Font^ Font][@(0.0.255) `&]_FaceName([@(0.0.255) c
|
||||
onst]_[_^String^ String][@(0.0.255) `&]_[@3 name])&]
|
||||
[s2;%% Sets the face to [%-*@3 name]. If name is not valid face`-name,
|
||||
Font is set to Null.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:operator`(`)`(`)const: [_^Font^@0 Font]_[@(0.0.255) operator][@0 ()()]_[@(0.0.255) c
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:operator`(`)`(`)const: [_^Font^ Font][@(64) _][@(0.0.255) operator]()()[@(64) _][@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Returns a copy of Font. Useful to simplify notation when altering
|
||||
existing Font values.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:operator`(`)`(int`)const: [_^Font^@0 Font]_[@(0.0.255) operator][@0 ()(][@(0.0.255) i
|
||||
nt][@0 _][@3 n][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:operator`(`)`(int`)const: [_^Font^ Font][@(64) _][@(0.0.255) operator]()([@(0.0.255) i
|
||||
nt]_[@3 n])_[@(0.0.255) const]&]
|
||||
[s2;%% Returns a copy of Font, with height changed to [%-*@3 n].&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Serialize`(Stream`&`): [@(0.0.255) void][@0 _Serialize(][_^Stream^@0 Stream][@(0.0.255) `&
|
||||
][@0 _][@3 s][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Serialize`(Stream`&`): [@(0.0.255) void]_Serialize([_^Stream^ Stream][@(0.0.255) `&
|
||||
]_[@3 s])&]
|
||||
[s2;%% Serializes the font value (face index is stored as face`-name
|
||||
text).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:operator`=`=`(Font`)const: [@(0.0.255) bool][@0 _operator`=`=(][_^Font^@0 Font
|
||||
][@0 _][@3 f][@0 )_][@(0.0.255) const]&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:operator`!`=`(Font`)const: [@(0.0.255) bool][@0 _operator!`=(][_^Font^@0 Font][@0 _
|
||||
][@3 f][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:operator`=`=`(Font`)const: [@(0.0.255) bool]_operator`=`=([_^Font^ Font]_[@3 f
|
||||
])_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:operator`!`=`(Font`)const: [@(0.0.255) bool]_operator!`=([_^Font^ Font]_[@3 f])
|
||||
_[@(0.0.255) const]&]
|
||||
[s2;%% Compares two Font instances.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetHashValue`(`)const: [_^dword^@0 dword][@0 _GetHashValue()]_[@(0.0.255) cons
|
||||
t]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetHashValue`(`)const: [_^dword^ dword]_GetHashValue()[@(64) _][@(0.0.255) con
|
||||
st]&]
|
||||
[s2;%% Returns the font hash value.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsNull`(`)const: [@(0.0.255) bool][@0 _IsNull()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsNull`(`)const: [@(0.0.255) bool]_IsNull()_[@(0.0.255) const]&]
|
||||
[s2;%% True if Font is Null.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetAscent`(`)const: [@(0.0.255) int][@0 _GetAscent()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetAscent`(`)const: [@(0.0.255) int]_GetAscent()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the character cell extend above the baseline.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetDescent`(`)const: [@(0.0.255) int][@0 _GetDescent()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetDescent`(`)const: [@(0.0.255) int]_GetDescent()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the character cell extend below the baseline.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetCy`(`)const: [@(0.0.255) int][@0 _GetCy()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetCy`(`)const: [@(0.0.255) int]_GetCy()_[@(0.0.255) const]&]
|
||||
[s2;%% Same as GetDescent() `+ GetAscent().&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetExternal`(`)const: [@(0.0.255) int][@0 _GetExternal()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetExternal`(`)const: [@(0.0.255) int]_GetExternal()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the additional space that font description recommends
|
||||
to insert between two lines of text. Rarely used.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetInternal`(`)const: [@(0.0.255) int][@0 _GetInternal()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetInternal`(`)const: [@(0.0.255) int]_GetInternal()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the mostly free space inside GetAscent value. Rarely
|
||||
used.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetHeight`(`)const: [@(0.0.255) int][@0 _GetHeight()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetHeight`(`)const: [@(0.0.255) int]_GetHeight()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns GetAscent() `+ GetDescent() `- the height of the line
|
||||
of text.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetLineHeight`(`)const: [@(0.0.255) int][@0 _GetLineHeight()_][@(0.0.255) cons
|
||||
t]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetLineHeight`(`)const: [@(0.0.255) int]_GetLineHeight()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns GetHeight() `+ GetExternal().&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetOverhang`(`)const: [@(0.0.255) int][@0 _GetOverhang()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetOverhang`(`)const: [@(0.0.255) int]_GetOverhang()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns overhang of font.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetAveWidth`(`)const: [@(0.0.255) int][@0 _GetAveWidth()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetAveWidth`(`)const: [@(0.0.255) int]_GetAveWidth()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the average width of character.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetMaxWidth`(`)const: [@(0.0.255) int][@0 _GetMaxWidth()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetMaxWidth`(`)const: [@(0.0.255) int]_GetMaxWidth()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the maximal width of character.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsNormal`(int`)const: [@(0.0.255) bool][@0 _IsNormal(][@(0.0.255) int][@0 _][@3 ch
|
||||
][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsNormal`(int`)const: [@(0.0.255) bool]_IsNormal([@(0.0.255) int]_[@3 ch])_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Returns true if [%-*@3 ch] exists as regular glyph in the font.&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsComposed`(int`)const: [@(0.0.255) bool][@0 _IsComposed(][@(0.0.255) int][@0 _][@3 c
|
||||
h][@0 )_][@(0.0.255) const]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsComposed`(int`)const: [@(0.0.255) bool]_IsComposed([@(0.0.255) int]_[@3 ch])
|
||||
_[@(0.0.255) const]&]
|
||||
[s2;%% Returns true if [%-*@3 ch].is to be rendered as composition
|
||||
of 2 other glyphs (ASCII letter and diacritical mark).&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsReplaced`(int`)const: [@(0.0.255) bool][@0 _IsReplaced(][@(0.0.255) int][@0 _][@3 c
|
||||
h][@0 )_][@(0.0.255) const]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsReplaced`(int`)const: [@(0.0.255) bool]_IsReplaced([@(0.0.255) int]_[@3 ch])
|
||||
_[@(0.0.255) const]&]
|
||||
[s2;%% Returns true [%-*@3 ch] is to be rendered using character from
|
||||
some other font.&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsMissing`(int`)const: [@(0.0.255) bool][@0 _IsMissing(][@(0.0.255) int][@0 _][@3 c
|
||||
h][@0 )_][@(0.0.255) const]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsMissing`(int`)const: [@(0.0.255) bool]_IsMissing([@(0.0.255) int]_[@3 ch])_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Returns true if [%-*@3 ch] cannot be rendered.&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:HasChar`(int`)const: [@(0.0.255) int][@0 _HasChar(][@(0.0.255) int][@0 _][@3 ch][@0 )
|
||||
_][@(0.0.255) const]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:HasChar`(int`)const: [@(0.0.255) int]_HasChar([@(0.0.255) int]_[@3 ch])_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Returns true if [%-*@3 ch] can be rendered (in any way).&]
|
||||
[s7;%% &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetWidth`(int`)const: [@(0.0.255) int][@0 _GetWidth(][@(0.0.255) int][@0 _][@3 c][@0 )
|
||||
_][@(0.0.255) const]&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetWidth`(int`)const: [@(0.0.255) int]_GetWidth([@(0.0.255) int]_[@3 c])_[@(0.0.255) c
|
||||
onst]&]
|
||||
[s2;%% Returns the total advance with of character [%-*@3 c] (encoded
|
||||
in unicode).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:operator`[`]`(int`)const: [@(0.0.255) int][@0 _operator`[`](][@(0.0.255) int][@0 _
|
||||
][@3 c][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:operator`[`]`(int`)const: [@(0.0.255) int]_operator`[`]([@(0.0.255) int]_[@3 c
|
||||
])_[@(0.0.255) const]&]
|
||||
[s2;%% Same as GetWidth([%-*@3 c]).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetLeftSpace`(int`)const: [@(0.0.255) int][@0 _GetLeftSpace(][@(0.0.255) int][@0 _
|
||||
][@3 c][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetLeftSpace`(int`)const: [@(0.0.255) int]_GetLeftSpace([@(0.0.255) int]_[@3 c
|
||||
])_[@(0.0.255) const]&]
|
||||
[s2;%% Describes the relation of left side of character cell and
|
||||
leftmost area painted for character [%-*@3 c]. Negative value means
|
||||
that character extends character cell, positive value means that
|
||||
there is a space inside the cell not used for glyph.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetRightSpace`(int`)const: [@(0.0.255) int][@0 _GetRightSpace(][@(0.0.255) int
|
||||
][@0 _][@3 c][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetRightSpace`(int`)const: [@(0.0.255) int]_GetRightSpace([@(0.0.255) int]_[@3 c
|
||||
])_[@(0.0.255) const]&]
|
||||
[s2;%% Similar to GetLeftSpace for the right edge of character cell.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsFixedPitch`(`)const: [@(0.0.255) bool][@0 _IsFixedPitch()_][@(0.0.255) const
|
||||
]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsFixedPitch`(`)const: [@(0.0.255) bool]_IsFixedPitch()_[@(0.0.255) const]&]
|
||||
[s2;%% True if font is mono`-spaced.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsScaleable`(`)const: [@(0.0.255) bool][@0 _IsScaleable()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsScaleable`(`)const: [@(0.0.255) bool]_IsScaleable()_[@(0.0.255) const]&]
|
||||
[s2;%% True if font is freely scaleable.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:IsSpecial`(`)const: [@(0.0.255) bool][@0 _IsSpecial()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:IsSpecial`(`)const: [@(0.0.255) bool]_IsSpecial()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns true if font does not use unicode placement of glyphs,
|
||||
for example some symbol fonts have this issue.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:GetPath`(`)const: [_^String^@0 String][@0 _GetPath()]_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:GetPath`(`)const: [_^String^ String]_GetPath()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% [/ POSIX specific:] Returns the path of font file.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s7; &]
|
||||
[s8;H0; &]
|
||||
[s5;:Font`:`:Font`(`): [@0 Font()]&]
|
||||
[s3; &]
|
||||
[s5;:Font`:`:Font`(`): Font()&]
|
||||
[s2;%% Initializes Font to STDFONT, default height, all attributes
|
||||
not active.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Font`(int`,int`): [@0 Font(][@(0.0.255) int][@0 _][@3 face][@0 ,
|
||||
][@(0.0.255) int][@0 _][@3 height][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Font`(int`,int`): Font([@(0.0.255) int]_[@3 face], [@(0.0.255) int]_[@3 height])
|
||||
&]
|
||||
[s2;%% Initializes font to [%-*@3 face] index and [%-*@3 height].&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Font`(const Nuller`&`): [@0 Font(][@(0.0.255) const][@0 _][_^Nuller^@0 Nuller][@(0.0.255) `&
|
||||
][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Font`(const Nuller`&`): Font([@(0.0.255) const]_[_^Nuller^ Nuller][@(0.0.255) `&
|
||||
])&]
|
||||
[s2;%% Sets the font Null.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:operator Value`(`)const: [@0 operator_Value()]_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:operator Value`(`)const: operator_Value()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% Converts the Font to the Value (font is rich Value).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Font`:`:Font`(const Value`&`): [@0 Font(][@(0.0.255) const][@0 _][_^Value^@0 Value][@(0.0.255) `&
|
||||
][@0 _][@3 q][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Font`:`:Font`(const Value`&`): Font([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&]_
|
||||
[@3 q])&]
|
||||
[s2;%% Converts the Value to the Font.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,7 +11,7 @@ topic "Font and Text Routines";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Font and Text Routines]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:GetTextSize`(const wchar`*`,Font`,int`): [_^Size^ Size]_[* GetTextSize]([@(0.0.255) co
|
||||
nst]_[_^wchar^ wchar]_`*[*@3 text], [_^Font^ Font]_[*@3 font], [@(0.0.255) int]_[*@3 n]_`=_`-
|
||||
[@3 1])&]
|
||||
|
|
|
|||
|
|
@ -1,184 +1,183 @@
|
|||
topic "Image and ImageBuffer";
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[0 $$7,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$8,0#05600065144404261032431302351956:begin]
|
||||
[0 $$3,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
||||
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Image]]}}&]
|
||||
[s1;@(0.0.255) &]
|
||||
[s1;:Image`:`:class: [@(0.0.255) class][@0 _Image_:_][@(0.0.255) public][@0 _][@3 AssignValueTyp
|
||||
eNo][@0 <_Image, ][@3 150][@0 , ][_^Moveable^@0 Moveable][@0 <Image>_>_]&]
|
||||
[s2;%% Image represents an immutable image value. Image can be directly
|
||||
[s3; &]
|
||||
[s1;:Image`:`:class: [@(0.0.255) class]_Image_:_[@(0.0.255) public]_[@3 AssignValueTypeNo]<_
|
||||
Image, [@3 150], [_^Moveable^ Moveable]<Image>_>_&]
|
||||
[s9;%% Image represents an immutable image value. Image can be directly
|
||||
painted to Draw. To create or change Image, use [^`:`:ImageBuffer^ ImageBuffer].&]
|
||||
[s2;%% Image has low`-cost constant time deep copy. It is moveable
|
||||
[s9;%% Image has low`-cost constant time deep copy. It is moveable
|
||||
and Rich`-Value compatible type.&]
|
||||
[s2;%% U`+`+ expects pixels to be in premultiplied alpha format.&]
|
||||
[s9;%% U`+`+ expects pixels to be in premultiplied alpha format.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s0; &]
|
||||
[s5;:Image`:`:operator`~`(`)const: [@(0.0.255) const][@0 _][_^RGBA^@0 RGBA][@(0.0.255) `*][@0 _
|
||||
operator`~()_][@(0.0.255) const]&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s3; &]
|
||||
[s5;:Image`:`:operator`~`(`)const: [@(0.0.255) const]_[_^RGBA^ RGBA][@(0.0.255) `*]_operato
|
||||
r`~()_[@(0.0.255) const]&]
|
||||
[s5;:Image`:`:operator const RGBA`*`(`)const: operator_const_RGBA`*()_[@(0.0.255) const
|
||||
]&]
|
||||
[s2;%% Returns a pointer to Image pixels.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:operator`[`]`(int`)const: [@(0.0.255) const][@0 _][_^RGBA^@0 RGBA][@(0.0.255) `*
|
||||
][@0 _operator`[`](][@(0.0.255) int][@0 _][@3 i][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:operator`[`]`(int`)const: [@(0.0.255) const]_[_^RGBA^ RGBA][@(0.0.255) `*]_op
|
||||
erator`[`]([@(0.0.255) int]_[@3 i])_[@(0.0.255) const]&]
|
||||
[s2;%% Returns a pointer to the first pixel in the line [%-*@3 i].&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetSize`(`)const: [_^Size^ Size]_GetSize()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the dimension of Image.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetWidth`(`)const: [@(0.0.255) int][@0 _GetWidth()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetWidth`(`)const: [@(0.0.255) int]_GetWidth()_[@(0.0.255) const]&]
|
||||
[s2;%% Same as GetSize().cx.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetHeight`(`)const: [@(0.0.255) int][@0 _GetHeight()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetHeight`(`)const: [@(0.0.255) int]_GetHeight()_[@(0.0.255) const]&]
|
||||
[s2;%% Same as GetSize().cy.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetLength`(`)const: [@(0.0.255) int][@0 _GetLength()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetLength`(`)const: [@(0.0.255) int]_GetLength()_[@(0.0.255) const]&]
|
||||
[s2;%% Number of pixels in Image `- GetWidth() `* GetHeight().&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetHotSpot`(`)const: [_^Point^@0 Point][@0 _GetHotSpot()]_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetHotSpot`(`)const: [_^Point^ Point]_GetHotSpot()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% Returns the reference point.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Get2ndSpot`(`)const: [_^Point^ Point]_Get2ndSpot()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns secondary reference point.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetDots`(`)const: [_^Size^@0 Size][@0 _GetDots()]_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetDots`(`)const: [_^Size^ Size]_GetDots()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% Gets the physical size of Image. If physical size is not set,
|
||||
returns Size(0, 0).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetKindNoScan`(`)const: [@(0.0.255) int][@0 _GetKindNoScan()_][@(0.0.255) con
|
||||
st]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetKindNoScan`(`)const: [@(0.0.255) int]_GetKindNoScan()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the kind of image. Unlike GetKind(), it does not perform
|
||||
the scan of image if the kind it not know, therefore it can return
|
||||
IMAGE`_UNKNOWN.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetKind`(`)const: [@(0.0.255) int][@0 _GetKind()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetKind`(`)const: [@(0.0.255) int]_GetKind()_[@(0.0.255) const]&]
|
||||
[s2;%% Returns the kind of image, either set by ImageBuffer`::SetKind
|
||||
or (if it is IMAGE`_UNKNOWN) resolved by scanning pixels. If
|
||||
the kind is IMAGE`_UNKNOWN, the pixels are scanned and the type
|
||||
is determined, it is then stored (in private Image instance variable)
|
||||
for future use and returned.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetSerialId`(`)const: [_^int64^@0 int64][@0 _GetSerialId()]_[@(0.0.255) const
|
||||
]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetSerialId`(`)const: [_^int64^ int64]_GetSerialId()[@(64) _][@(0.0.255) cons
|
||||
t]&]
|
||||
[s2;%% Returns the unique, per application run, identifier of Image.
|
||||
All Images with the same serial id can be considered equal (this
|
||||
is useful for caching images).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:IsSame`(const Image`&`)const: [@(0.0.255) bool][@0 _IsSame(][@(0.0.255) const
|
||||
][@0 _][_^Image^@0 Image][@(0.0.255) `&][@0 _][@3 img][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:IsSame`(const Image`&`)const: [@(0.0.255) bool]_IsSame([@(0.0.255) const]_[_^Image^ I
|
||||
mage][@(0.0.255) `&]_[@3 img])_[@(0.0.255) const]&]
|
||||
[s2;%% Same as GetSerialId() `=`= img.GetSerialId().&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:operator`=`=`(const Image`&`)const: [@(0.0.255) bool][@0 _operator`=`=(][@(0.0.255) c
|
||||
onst][@0 _][_^Image^@0 Image][@(0.0.255) `&][@0 _][@3 img][@0 )_][@(0.0.255) const]&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:operator`!`=`(const Image`&`)const: [@(0.0.255) bool][@0 _operator!`=(][@(0.0.255) c
|
||||
onst][@0 _][_^Image^@0 Image][@(0.0.255) `&][@0 _][@3 img][@0 )_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:operator`=`=`(const Image`&`)const: [@(0.0.255) bool]_operator`=`=([@(0.0.255) c
|
||||
onst]_[_^Image^ Image][@(0.0.255) `&]_[@3 img])_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:operator`!`=`(const Image`&`)const: [@(0.0.255) bool]_operator!`=([@(0.0.255) c
|
||||
onst]_[_^Image^ Image][@(0.0.255) `&]_[@3 img])_[@(0.0.255) const]&]
|
||||
[s2;%% Tests whether two Images are equal (or not equal). Dimensions,
|
||||
hot`-spot, dots and all pixels are compared. Note that the comparison
|
||||
can be slow.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:GetHashValue`(`)const: [_^dword^@0 dword][@0 _GetHashValue()]_[@(0.0.255) con
|
||||
st]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:GetHashValue`(`)const: [_^dword^ dword]_GetHashValue()[@(64) _][@(0.0.255) co
|
||||
nst]&]
|
||||
[s2;%% Returns the hash`-value for image. All pixels combined into
|
||||
hash value (potentially slow).&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:ToString`(`)const: [_^String^@0 String][@0 _ToString()]_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:ToString`(`)const: [_^String^ String]_ToString()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% Returns the basic Image informations as String.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Serialize`(Stream`&`): [@(0.0.255) void][@0 _Serialize(][_^Stream^@0 Stream][@(0.0.255) `&
|
||||
][@0 _][@3 s][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Serialize`(Stream`&`): [@(0.0.255) void]_Serialize([_^Stream^ Stream][@(0.0.255) `&
|
||||
]_[@3 s])&]
|
||||
[s2;%% Serializes Image.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Clear`(`): [@(0.0.255) void][@0 _Clear()]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Clear`(`): [@(0.0.255) void]_Clear()&]
|
||||
[s2;%% Assigns an empty Image.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:operator`=`(const Image`&`): [_^Image^@0 Image][@(0.0.255) `&][@0 _operator`=
|
||||
(][@(0.0.255) const][@0 _][_^Image^@0 Image][@(0.0.255) `&][@0 _][@3 img][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:operator`=`(const Image`&`): [_^Image^ Image][@(0.0.255) `&]_operator`=([@(0.0.255) c
|
||||
onst]_[_^Image^ Image][@(0.0.255) `&]_[@3 img])&]
|
||||
[s2;%% Assigns another Image.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:operator`=`(ImageBuffer`&`): [_^Image^@0 Image][@(0.0.255) `&][@0 _operator`=
|
||||
(][_^ImageBuffer^@0 ImageBuffer][@(0.0.255) `&][@0 _][@3 img][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:operator`=`(ImageBuffer`&`): [_^Image^ Image][@(0.0.255) `&]_operator`=([_^ImageBuffer^ I
|
||||
mageBuffer][@(0.0.255) `&]_[@3 img])&]
|
||||
[s2;%% Assigns Image created in ImageBuffer. ImageBuffer is emptied
|
||||
by this operation.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:IsNullInstance`(`)const: [@(0.0.255) bool][@0 _IsNullInstance()_][@(0.0.255) c
|
||||
onst]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:IsNullInstance`(`)const: [@(0.0.255) bool]_IsNullInstance()_[@(0.0.255) con
|
||||
st]&]
|
||||
[s2;%% Test whether Image has nonzero dimension.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:IsEmpty`(`)const: [@(0.0.255) bool][@0 _IsEmpty()_][@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:IsEmpty`(`)const: [@(0.0.255) bool]_IsEmpty()_[@(0.0.255) const]&]
|
||||
[s2;%% Same as IsNullInstance.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:operator Value`(`)const: [@0 operator_Value()]_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:operator Value`(`)const: operator_Value()[@(64) _][@(0.0.255) const]&]
|
||||
[s2;%% Converts Image to Value.&]
|
||||
[s7; &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s7; &]
|
||||
[s5;:Image`:`:Image`(`): [@0 Image()]&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Image`(const Nuller`&`): [@0 Image(][@(0.0.255) const][@0 _][_^Nuller^@0 Nuller
|
||||
][@(0.0.255) `&][@0 )]&]
|
||||
[s3; &]
|
||||
[s5;:Image`:`:Image`(`): Image()&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Image`(const Nuller`&`): Image([@(0.0.255) const]_[_^Nuller^ Nuller][@(0.0.255) `&
|
||||
])&]
|
||||
[s2;%% Constructs empty Image.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Image`(const Value`&`): [@0 Image(][@(0.0.255) const][@0 _][_^Value^@0 Value][@(0.0.255) `&
|
||||
][@0 _][@3 src][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Image`(const Value`&`): Image([@(0.0.255) const]_[_^Value^ Value][@(0.0.255) `&
|
||||
]_[@3 src])&]
|
||||
[s2;%% Converts Image from Value.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Image`(const Image`&`): [@0 Image(][@(0.0.255) const][@0 _Image][@(0.0.255) `&][@0 _
|
||||
][@3 img][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Image`(const Image`&`): Image([@(0.0.255) const]_Image[@(0.0.255) `&]_[@3 img
|
||||
])&]
|
||||
[s2;%% Copy constructor.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Image`(Image`(`*`)`(`)`): [@0 Image(Image_(`*fn)())]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Image`(Image`(`*`)`(`)`): Image(Image_(`*fn)())&]
|
||||
[s2;%% This function allow Image to be directly constructed from
|
||||
pointer to function returning the Image. This allows omitting
|
||||
parenthesis when passing Iml image constants as arguments.&]
|
||||
[s7; &]
|
||||
[s8; &]
|
||||
[s5;:Image`:`:Image`(ImageBuffer`&`): [@0 Image(][_^ImageBuffer^@0 ImageBuffer][@(0.0.255) `&
|
||||
][@0 _][@3 b][@0 )]&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5;:Image`:`:Image`(ImageBuffer`&`): Image([_^ImageBuffer^ ImageBuffer][@(0.0.255) `&]_[@3 b
|
||||
])&]
|
||||
[s2;%% Uses Image created in ImageBuffer. ImageBuffer is emptied
|
||||
by this operation.&]
|
||||
[s2;%% &]
|
||||
[s7; &]
|
||||
[ {{10000t/25b/25@1 [s0;%% [* Standard cursors]]}}&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% Image class contains several standard mouse cursor Images
|
||||
[ {{10000t/25b/25@1 [s0;%% [* Standard cursors]]}}&]
|
||||
[s9;%% Image class contains several standard mouse cursor Images
|
||||
as static member methods:&]
|
||||
[s0;%% &]
|
||||
[ {{3333:3333:3334f0;g0; [ {{10000>274; [s0; Arrow]
|
||||
|
|
@ -196,4 +195,5 @@ as static member methods:&]
|
|||
:: [s0; SizeBottomLeft]
|
||||
:: [s0; SizeBottom]
|
||||
:: [s0; SizeBottomRight]}}]}}&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,17 +11,17 @@ topic "ImageBuffer";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 ImageBuffer]]}}&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s3; &]
|
||||
[s1;:ImageBuffer`:`:class: [*@(0.0.255) class][* _ImageBuffer_:_][*@(0.0.255) private][* _][*@3 N
|
||||
oCopy]&]
|
||||
[s2;%% ImageBuffer represents a writable Image `- an array of RGBA
|
||||
[s9;%% ImageBuffer represents a writable Image `- an array of RGBA
|
||||
pixels. ImageBuffer can be converted to Image in low`-const constant
|
||||
time while loosing its content and vice versa, Image can be converted
|
||||
to ImageBuffer again loosing its content.&]
|
||||
[s2;%% Content of Image / ImageBuffer can be classified to optimize
|
||||
[s9;%% Content of Image / ImageBuffer can be classified to optimize
|
||||
drawing. Possible classifications are&]
|
||||
[s2;%% &]
|
||||
[ {{2913:7087<288;>640; [s0;%% [* IMAGE`_UNKNOWN]]
|
||||
[ {{2913:7087<288;>416; [s0;%% [* IMAGE`_UNKNOWN]]
|
||||
:: [s0;%% The image kind is unknown.]
|
||||
:: [s0;%% [* IMAGE`_EMPTY]]
|
||||
:: [s0;%% The image is empty (all alpha values are 0).]
|
||||
|
|
@ -32,16 +32,16 @@ drawing. Possible classifications are&]
|
|||
:: [s0;%% [* IMAGE`_OPAQUE]]
|
||||
:: [s0;%% The image has all alpha values 255.]}}&]
|
||||
[s2;%% &]
|
||||
[s2;%% Note that is the kind of image is unknown, painting routine
|
||||
[s9;%% Note that is the kind of image is unknown, painting routine
|
||||
determines it automatically by scanning pixels and stores the
|
||||
result.&]
|
||||
[s2;%% &]
|
||||
[s2;%% Pixels of image are organized in simple continual POD array,
|
||||
[s9;%% Pixels of image are organized in simple continual POD array,
|
||||
first pixel being top`-left.&]
|
||||
[s2;%% U`+`+ expects pixels to be in premultiplied alpha format.&]
|
||||
[s9;%% U`+`+ expects pixels to be in premultiplied alpha format.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Member List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:ImageBuffer`:`:SetKind`(int`): [*@(0.0.255) void][* _SetKind(][*@(0.0.255) int][* _][*@3 k
|
||||
][* )]&]
|
||||
[s2;%% Sets the kind of image. You can use this to avoid automatic
|
||||
|
|
@ -155,8 +155,9 @@ mageBuffer][*@(0.0.255) `&][* _][*@3 img][* )]&]
|
|||
and empty after this operation, price paid for low`-cost constant
|
||||
time operation.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000t/25b/25@1 [s0; [* Constructor Detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:ImageBuffer`:`:ImageBuffer`(`): [* ImageBuffer]()&]
|
||||
[s2;%% Constructs empty ImageBuffer.&]
|
||||
[s3; &]
|
||||
|
|
@ -175,4 +176,5 @@ is undefined.&]
|
|||
[s2;%% Assigns pixels of [%-*@3 img] to ImageBuffer. [%-*@3 img] is cleared
|
||||
and empty after this operation, price paid for low`-cost constant
|
||||
time operation.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,15 +11,15 @@ topic "ImageEncoder";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 ImageEncoder]]}}&]
|
||||
[s4;H0; &]
|
||||
[s0;a25; [@(0.0.255)3 class][3 _][*3 ImageEncoder][3 _:_][@(0.0.255)3 public][3 _][*_^RasterEncoder^3 R
|
||||
asterEncoder]&]
|
||||
[s0;l288;%% This RasterEncoder derived class encodes scanlines to
|
||||
produce regular Image as result.&]
|
||||
[s0;l288;%% &]
|
||||
[s3; &]
|
||||
[s1;:ImageEncoder`:`:class: [@(0.0.255)3 class][3 _][*3 ImageEncoder][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 RasterEncoder]&]
|
||||
[s9;%% This RasterEncoder derived class encodes scanlines to produce
|
||||
regular Image as result.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:ImageEncoder`:`:operator const RGBA`*`(`): [@(0.0.255) operator]_[@(0.0.255) const]_
|
||||
[_^RGBA^ RGBA]_`*()&]
|
||||
[s2;%% Returns a pointer to the array of pixels of Image.&]
|
||||
|
|
@ -28,4 +28,5 @@ produce regular Image as result.&]
|
|||
[s5;:ImageEncoder`:`:operator Image`(`): [* operator_Image]()&]
|
||||
[s2;%% Returns the resulting Image. Should only be called after all
|
||||
scanlines (according to requested Image size) are completed.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -1,80 +1,104 @@
|
|||
topic "Iml and image list class methods";
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;*@(64)2 $$1,0#37138531426314131252341829483380:class]
|
||||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[a83;*R6 $$3,0#31310162474203024125188417583966:caption]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$4,0#10431211400427159095818037425705:param]
|
||||
[i448;a25;kKO9;*@(64)2 $$5,0#37138531426314131252341829483370:item]
|
||||
[*+117 $$6,6#14700283458701402223321329925657:header]
|
||||
[0 $$7,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$8,0#05600065144404261032431302351956:begin]
|
||||
[0 $$3,0#96390100711032703541132217272105:end]
|
||||
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
||||
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
||||
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
||||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[s3; Iml and image list class methods&]
|
||||
[s0; [*@3+150 Iml and image list class methods]&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s1;K:`:`:Iml`:`:class:%- [@(0.0.255) class]_[@0 Iml]&]
|
||||
[s2; Single global instance of Iml class is associated with each
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 Iml]]}}&]
|
||||
[s3; &]
|
||||
[s1;K:`:`:Iml`:`:class:%- [@(0.0.255) class][@(64) _]Iml&]
|
||||
[s9; Single global instance of Iml class is associated with each
|
||||
image list class which represents content of .iml file designed
|
||||
by image designer. Class provides array`-like access to the list
|
||||
of Images. To acquire Iml instance for particular image list
|
||||
class, call its Iml class method.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:Iml`:`:Reset`(`):%- [@(0.0.255) void]_[@0 Reset]()&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s3; &]
|
||||
[s5;:Iml`:`:Reset`(`):%- [@(0.0.255) void]_[* Reset]()&]
|
||||
[s2; Resets image list class to the content designed in Image designer.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:Iml`:`:GetCount`(`)const:%- [@(0.0.255) int]_[@0 GetCount]()_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Iml`:`:GetCount`(`)const:%- [@(0.0.255) int]_[* GetCount]()_[@(0.0.255) const]&]
|
||||
[s2; Returns the number of Images in the list.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:Iml`:`:GetId`(int`):%- [^`:`:String^ String]_[@0 GetId]([@(0.0.255) int]_[@3 i])&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Iml`:`:GetId`(int`):%- [_^String^ String]_[* GetId]([@(0.0.255) int]_[*@3 i])&]
|
||||
[s2;%- [%% Returns the identifier of Image at ][*@3 i].&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:Iml`:`:Get`(int`):%- [^`:`:Image^ Image]_[@0 Get]([@(0.0.255) int]_[@3 i])&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Iml`:`:Get`(int`):%- [_^Image^ Image]_[* Get]([@(0.0.255) int]_[*@3 i])&]
|
||||
[s2; Returns the Image at [%-*@3 i].&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:Iml`:`:Find`(const`:`:String`&`)const:%- [@(0.0.255) int]_[@0 Find]([@(0.0.255) c
|
||||
onst]_[^`:`:String^ String]`&_[@3 id])_[@(0.0.255) const]&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Iml`:`:Find`(const String`&`)const:%- [@(0.0.255) int]_[* Find]([@(0.0.255) const]_[_^String^ S
|
||||
tring][@(0.0.255) `&]_[*@3 s])_[@(0.0.255) const]&]
|
||||
[s2; Finds the position of Image with given [%-*@3 id]. Returns negative
|
||||
value if not found.&]
|
||||
[s0; &]
|
||||
[s5;K:`:`:Iml`:`:Set`(int`,const`:`:Image`&`):%- [@(0.0.255) void]_[@0 Set]([@(0.0.255) int
|
||||
]_[@3 i], [@(0.0.255) const]_[^`:`:Image^ Image]`&_[@3 img])&]
|
||||
[s3; &]
|
||||
[s4;%- &]
|
||||
[s5;:Iml`:`:Set`(int`,const Image`&`):%- [@(0.0.255) void]_[* Set]([@(0.0.255) int]_[*@3 i],
|
||||
[@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img])&]
|
||||
[s2;%- [%% Overwrites the Image at ][*@3 i].&]
|
||||
[s3; &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Image list class methods]]}}&]
|
||||
[s9; These class methods are defined in each Image list class:&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s6; Image list class methods&]
|
||||
[s0; &]
|
||||
[s0; These class methods are defined in each Image list class:&]
|
||||
[s0; &]
|
||||
[s5; static `::[^`:`:Iml^ Iml]`& [@0 Iml]();&]
|
||||
[s5; static `::[^`:`:Iml^ Iml]`& Iml[@(64) ();]&]
|
||||
[s2; Return reference to Iml object for given image list class.&]
|
||||
[s0; &]
|
||||
[s5; static [@(0.0.255) int] [@0 Find]([@(0.0.255) const] [^`:`:String^ String]`&
|
||||
[@3 id])&]
|
||||
[s5; static [@(0.0.255) int] [@0 Find]([@(0.0.255) const char] `*[@3 id])&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [@(0.0.255) int][@(64) ]Find[@(64) (][@(0.0.255) const][@(64)
|
||||
][^`:`:String^@(64) String][@(64) `& ][@3 id][@(64) )]&]
|
||||
[s5; static [@(0.0.255) int][@(64) ]Find[@(64) (][@(0.0.255) const char][@(64)
|
||||
`*][@3 id][@(64) )]&]
|
||||
[s2; Same as Iml().Find([*@3 id]).&]
|
||||
[s0; &]
|
||||
[s5; static [@(0.0.255) int] [@0 GetCount]()&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [@(0.0.255) int][@(64) ]GetCount[@(64) ()]&]
|
||||
[s2; Same as Iml().GetCount().&]
|
||||
[s0; &]
|
||||
[s5; static [^`:`:String^ String] [@0 GetId]([@(0.0.255) int] [@3 i])&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [^`:`:String^ String] GetId[@(64) (][@(0.0.255) int][@(64) ][@3 i][@(64) )]&]
|
||||
[s2; Same as Iml().GetId([*@3 i]).&]
|
||||
[s0; &]
|
||||
[s5; static [^`:`:Image^ Image] [@0 Get]([@(0.0.255) int] [@3 i])&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [^`:`:Image^ Image] Get[@(64) (][@(0.0.255) int][@(64) ][@3 i][@(64) )]&]
|
||||
[s2; Same as Iml().Get([*@3 i]).&]
|
||||
[s0; &]
|
||||
[s5; static [^`:`:Image^ Image] [@0 Get]([@(0.0.255) const char] `*[@3 id])&]
|
||||
[s5; static [^`:`:Image^ Image] [@0 Get]([@(0.0.255) const] [^`:`:String^ String]`&
|
||||
[@3 id])&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [^`:`:Image^ Image] Get[@(64) (][@(0.0.255) const char][@(64)
|
||||
`*][@3 id][@(64) )]&]
|
||||
[s5; static [^`:`:Image^ Image] Get[@(64) (][@(0.0.255) const][@(64) ][^`:`:String^@(64) Strin
|
||||
g][@(64) `& ][@3 id][@(64) )]&]
|
||||
[s2; Same as Iml().Get(Find([*@3 id])). Image with required [*@3 id ]must
|
||||
exist in image list.&]
|
||||
[s0; &]
|
||||
[s5; static [@(0.0.255) void] [@0 Set]([@(0.0.255) int] [@3 i], [@(0.0.255) const]
|
||||
[^`:`:Image^ Image]`& [@3 m])&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [@(0.0.255) void][@(64) ]Set[@(64) (][@(0.0.255) int][@(64) ][@3 i][@(64) ,
|
||||
][@(0.0.255) const][@(64) ][^`:`:Image^@(64) Image][@(64) `& ][@3 m][@(64) )]&]
|
||||
[s2; Same as Iml().Set([*@3 i], [*@3 m]).&]
|
||||
[s0; &]
|
||||
[s5; static [@(0.0.255) void] [@0 Set]([@(0.0.255) const char] `*[@3 s],
|
||||
[@(0.0.255) const] [^`:`:Image^ Image]`& [@3 m])&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [@(0.0.255) void][@(64) ]Set[@(64) (][@(0.0.255) const char][@(64)
|
||||
`*][@3 s][@(64) , ][@(0.0.255) const][@(64) ][^`:`:Image^@(64) Image][@(64) `&
|
||||
][@3 m][@(64) )]&]
|
||||
[s2; Same as Iml().Set([*@3 s], [*@3 m]).&]
|
||||
[s0; &]
|
||||
[s5; static [@(0.0.255) void] [@0 Reset]()&]
|
||||
[s3; &]
|
||||
[s4; &]
|
||||
[s5; static [@(0.0.255) void][@(64) ]Reset[@(64) ()]&]
|
||||
[s2; Same as Iml().Reset.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,15 +11,16 @@ topic "PaintRect";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 PaintRect]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s1;:PaintRect`:`:class:%- [@(0.0.255) class]_[* PaintRect]_:_[@(0.0.255) private]_[*@3 Moveab
|
||||
le]<[* PaintRect]>_&]
|
||||
[s2; PaintRect is a simple helper class that combines Value and a
|
||||
[s9; PaintRect is a simple helper class that combines Value and a
|
||||
reference to the Display to provide `"visual content`" of rectangle.
|
||||
It is [%-*@(0.0.255) Moveable].&]
|
||||
[s3;%- &]
|
||||
[s0;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:PaintRect`:`:Paint`(Draw`&`,const Rect`&`,Color`,Color`,dword`)const:%- [@(0.0.255) v
|
||||
oid]_[* Paint]([_^Draw^ Draw][@(0.0.255) `&]_[*@3 w], [@(0.0.255) const]_[_^Rect^ Rect][@(0.0.255) `&
|
||||
]_[*@3 r], [_^Color^ Color]_[*@3 ink]_`=_SColorText, [_^Color^ Color]_[*@3 paper]_`=_SColor
|
||||
|
|
@ -108,7 +109,7 @@ etValue]()_[@(0.0.255) const]&]
|
|||
[s3;%- &]
|
||||
[s0;* &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Constructor detail]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:PaintRect`:`:PaintRect`(`):%- [* PaintRect]()&]
|
||||
[s2; Constructs empty PaintRect, with no Display assigned.&]
|
||||
[s3;%- &]
|
||||
|
|
@ -125,4 +126,5 @@ onst]_[_^Display^ Display][@(0.0.255) `&]_[*@3 display], [@(0.0.255) const]_[_^V
|
|||
[s2; Constructs PaintRext with specified Display and Value.&]
|
||||
[s7; [%-*C@3 display]-|Display.&]
|
||||
[s7; [%-*C@3 val]-|Value.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,19 +11,19 @@ topic "Raster";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Raster]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s1;:Raster`:`:class: [@(0.0.255)3 class][3 _][*3 Raster]&]
|
||||
[s2;%% Raster is an abstract class representing raster image. Example
|
||||
[s9;%% Raster is an abstract class representing raster image. Example
|
||||
of Raster derived classes is PngRaster, that serves as .png image
|
||||
file decoder or MemoryRaster, that represent image in memory
|
||||
that can be in specific format (not RGBA).&]
|
||||
[s2;%% &]
|
||||
[s2;%% Raster provides basic information about image (GetSize and
|
||||
[s9;%% Raster provides basic information about image (GetSize and
|
||||
GetInfo returning Raster`::Info) and is a source of image scanlines.
|
||||
Scanlines are returned as Raster`::Line objects. If possible,
|
||||
Raster derived classes should attempt to minimize memory requirements.
|
||||
For example, PngRaster only fetches individual scanline from
|
||||
the file at time, if possible.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster`::Line]]}}&]
|
||||
[s3; &]
|
||||
|
|
@ -41,8 +41,9 @@ exists.&]
|
|||
[s2;%% &]
|
||||
[s2;%% For convenience, this class is also typedefed as RasterLine.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster`::Line Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:Raster`:`:Line`:`:GetRGBA`(`)const: [@(0.0.255) const]_[_^RGBA^ RGBA]_`*[* GetRGBA]()_
|
||||
[@(0.0.255) const]&]
|
||||
[s2;%% Returns a pointer to array with scanline pixels. Conversion
|
||||
|
|
@ -65,7 +66,7 @@ onst]_[_^RGBA^ RGBA]_`*()_[@(0.0.255) const]&]
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster`::Line Constructor detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:Raster`:`:Line`:`:Line`(const RGBA`*`,bool`): [* Line]([@(0.0.255) const]_[_^RGBA^ RGB
|
||||
A]_`*[*@3 data], [@(0.0.255) bool]_[*@3 free])&]
|
||||
[s2;%% Constructs Line from RGBA data. If [%-*@3 free] is true, Line
|
||||
|
|
@ -96,13 +97,14 @@ or`=]([@(0.128.128) pick`_]_[_^Raster`:`:Line^ Line][@(0.0.255) `&]_[*@3 b])&]
|
|||
[s3;%% &]
|
||||
[s1;@(0.0.255)3 &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster`::Info]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s1;:Raster`:`:Info`:`:struct: [@(0.0.255)3 struct][3 _][*3 Raster`::Info]&]
|
||||
[s2;%% This structure is used to provide the information about Raster.
|
||||
For convenience, this class is also typedefed as RasterInfo.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster`::Line Member Variables]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:Raster`:`:Info`:`:bpp: [@(0.0.255) int]_[* bpp]&]
|
||||
[s2;%% Number of bits per pixel. Default value is 24.&]
|
||||
[s3; &]
|
||||
|
|
@ -127,7 +129,7 @@ For convenience, this class is also typedefed as RasterInfo.&]
|
|||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster public methods]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:Raster`:`:SeekPage`(int`): [@(0.0.255) virtual] [@(0.0.255) void]_[* SeekPage]([@(0.0.255) i
|
||||
nt]_[*@3 page])&]
|
||||
[s2;%% Provides Raster with ability to handle sources that contain
|
||||
|
|
@ -209,4 +211,5 @@ the progress of operation (first int is current step, second
|
|||
is number of step to do) and also to cancel the operation (if
|
||||
it returns true; empty Image is returned in that case). Default
|
||||
value for the parameter means no progress feedback is provided.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,9 +11,9 @@ topic "RasterEncoder";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 RasterEncoder]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s1;:RasterEncoder`:`:class:%- [@(0.0.255)3 class][3 _][*3 RasterEncoder]&]
|
||||
[s2; RasterEncoder serves as consumer of RGBA scanline data. Typical
|
||||
[s9; RasterEncoder serves as consumer of RGBA scanline data. Typical
|
||||
use is as encoder into one of common image file formats, like
|
||||
PNG. RasterEncoder provides an output buffer for client code
|
||||
(producer) to store the output RGBA scanline, when scanline is
|
||||
|
|
@ -22,19 +22,20 @@ the RGBA scanline into specific format, according to [* format]
|
|||
protected member variable, then calls WriteLineRaw virtual method
|
||||
which performs the final processing (e.g. PNGEncoder stores it
|
||||
into PNG output stream).&]
|
||||
[s2; [*/ RGBA optimization: ]There is a specific need to avoid redundant
|
||||
[s9; RGBA optimization: There is a specific need to avoid redundant
|
||||
conversions and copies when the target is normal Image (with
|
||||
ImageEncoder). SetLine method can replace the default scanline
|
||||
buffer provided by RasterEncoder; that way it can use a pointer
|
||||
to ImageBuffer data and data are then can be stored directly
|
||||
into ImageBuffer (ImageEncoder calls SetLine in Start and WriteLineRaw
|
||||
methods). WriteLineRaw can then check whether [%-*@3 data] points
|
||||
methods). WriteLineRaw can then check whether [%-@3 data] points
|
||||
to suggested buffer (it is not guaranteed, because producer can
|
||||
provide yet another scanline buffer in WriteLine) and in that
|
||||
case, copying into target scanline can be completely skipped.&]
|
||||
[s3; &]
|
||||
[s3;%- &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Protected Members List]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:RasterEncoder`:`:format:%- [_^RasterFormat^ RasterFormat]_[* format]&]
|
||||
[s2; Derived encoder should store the required conversion format
|
||||
here in Start method.&]
|
||||
|
|
@ -45,8 +46,9 @@ line])&]
|
|||
[s2; Replaces the default scanline buffer to optimize storing RGBA
|
||||
data to direct targets..&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:RasterEncoder`:`:GetPaletteCount`(`):%- [@(0.0.255) virtual] [@(0.0.255) int]_[* GetPa
|
||||
letteCount]()&]
|
||||
[s2; Returns the number of colors in the palette (or zero).&]
|
||||
|
|
@ -158,4 +160,5 @@ nt]_[*@3 cx], [@(0.0.255) int]_[*@3 cy], [_^Raster^ Raster][@(0.0.255) `&]_[*@3
|
|||
&]
|
||||
[s2; Initializes encoder for output of image of specified size, optionally
|
||||
setting the palette.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
|
|
@ -11,16 +11,16 @@ topic "RasterFormat";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 RasterFormat]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s1;:RasterFormat`:`:struct: [@(0.0.255)3 class][3 _][*3 RasterFormat]&]
|
||||
[s2;%% This class serves as description and converter of various
|
||||
[s9;%% This class serves as description and converter of various
|
||||
pixel formats. U`+`+ normally uses fixed 32`-bit RGBA format
|
||||
for all processing, but special formats are required e.g. to
|
||||
deal with image files or to reduce memory requirements.&]
|
||||
[s3; &]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Raster Types]]}}&]
|
||||
[s0;i448;a25;kKO9; &]
|
||||
[s3; &]
|
||||
[ {{3523:6477^ [s0; RASTER`_1]
|
||||
:: [s0; 1 bit per pixel (2 colors, with palette)]
|
||||
:: [s0; RASTER`_2]
|
||||
|
|
@ -56,9 +56,10 @@ with&]
|
|||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s0;i448;a25;kKO9; RASTER`_MSBFIRST-|-|Indicates that bytes or nibbles
|
||||
are in reversed order (in big endian).&]
|
||||
[s0;i448;a25;kKO9;@(0.0.255) &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:RasterFormat`:`:Set1lf`(`): [@(0.0.255) void]_[* Set1lf]()&]
|
||||
[s2; Sets 1 bit per pixel format (RASTER`_1).&]
|
||||
[s3; &]
|
||||
|
|
|
|||
|
|
@ -11,27 +11,31 @@ topic "Common Raster classes";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 ImageRaster]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s1;:ImageRaster`:`:class: [@(0.0.255)3 class][3 _][*3 ImageRaster][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Raster]&]
|
||||
[s2;%% This class provides the Raster interface to existing Image.&]
|
||||
[s3; &]
|
||||
[s9;%% This class provides the Raster interface to existing Image.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:ImageRaster`:`:ImageRaster`(const Image`&`): [* ImageRaster]([@(0.0.255) const]_[_^Image^ I
|
||||
mage][@(0.0.255) `&]_[*@3 img])&]
|
||||
[s2;%% Creates Raster of [%-*@3 img].&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[s0; &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 MemoryRaster]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:MemoryRaster`:`:class: [@(0.0.255)3 class][3 _][*3 MemoryRaster][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Raster]&]
|
||||
[s2;%% This class represents an image in specific format stored in
|
||||
[s9;%% This class represents an image in specific format stored in
|
||||
memory. It has implicit pick transfer.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:MemoryRaster`:`:Load`(Raster`&`): [@(0.0.255) void]_[* Load]([_^Raster^ Raster][@(0.0.255) `&
|
||||
]_[*@3 raster])&]
|
||||
[s2;%% Loads [%-*@3 raster] into MemoryRaster. Keeps the format of
|
||||
|
|
@ -42,8 +46,9 @@ source.&]
|
|||
]&]
|
||||
[s2;%% Returns the number of bytes used to store scanlines of MemoryRaster.&]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:MemoryRaster`:`:MemoryRaster`(`): [* MemoryRaster]()&]
|
||||
[s2;%% Constructs empty MemoryRaster.&]
|
||||
[s3; &]
|
||||
|
|
@ -53,18 +58,22 @@ source.&]
|
|||
[s2;%% Loads [%-*@3 raster] into MemoryRaster. Keeps the format of
|
||||
source.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 StreamRaster]]}}&]
|
||||
[s3;%% &]
|
||||
[s1;:StreamRaster`:`:class: [@(0.0.255)3 class][3 _][*3 StreamRaster][3 _:_][@(0.0.255)3 public][3 _
|
||||
][*@3;3 Raster]&]
|
||||
[s2;%% Represents an image stored in Stream, usually used as base`-class
|
||||
[s9;%% Represents an image stored in Stream, usually used as base`-class
|
||||
for image decoders, e.g. PNGRaster. StreamRaster derived classes
|
||||
can be registered, in that case a class factory of such class
|
||||
is stored in an array and attempted to load the file of unknown
|
||||
format type.&]
|
||||
[s3; &]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
|
||||
[s4;H0; &]
|
||||
[s3; &]
|
||||
[s5;:StreamRaster`:`:GetStream`(`): [_^Stream^ Stream][@(0.0.255) `&]_[* GetStream]()&]
|
||||
[s2;%% Returns the associated Stream.&]
|
||||
[s3; &]
|
||||
|
|
@ -101,6 +110,7 @@ alse])&]
|
|||
or string. [%-*@3 progress] can be used to track the progress and
|
||||
to cancel loading (by returning true).&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Registered Decoders and multi`-format support]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:StreamRaster`:`:Register`(`): [@(0.0.255) static] [@(0.0.255) template]_<[@(0.0.255) c
|
||||
|
|
@ -134,6 +144,7 @@ alse])&]
|
|||
all registered decoders. [%-*@3 progress] can be used to track
|
||||
progress of operation or to cancel it by returning true.&]
|
||||
[s3;%% &]
|
||||
[s0;%% &]
|
||||
[ {{10000F(128)G(128)@1 [s0;%% [* Constructor detail]]}}&]
|
||||
[s4;H0; &]
|
||||
[s5;:StreamRaster`:`:StreamRaster`(`): [* StreamRaster]()&]
|
||||
|
|
|
|||
|
|
@ -11,15 +11,15 @@ topic "StreamRasterEncoder";
|
|||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[{_}%EN-US
|
||||
[ {{10000@(113.42.0) [s0; [*@7;4 StreamRasterEncoder]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s1;:StreamRasterEncoder`:`:class:%- [@(0.0.255)3 class][3 _][*3 StreamRasterEncoder][3 _:_][@(0.0.255)3 p
|
||||
ublic][3 _][*@3;3 RasterEncoder]&]
|
||||
[s2; This class adds methods useful for working with image streams
|
||||
[s9; This class adds methods useful for working with image streams
|
||||
to RasterEncoder.&]
|
||||
[s2; &]
|
||||
[s3;%- &]
|
||||
[s3; &]
|
||||
[s0; &]
|
||||
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
||||
[s4;H0;%- &]
|
||||
[s3;%- &]
|
||||
[s5;:StreamRasterEncoder`:`:SetStream`(Stream`&`):%- [@(0.0.255) void]_[* SetStream]([_^Stream^ S
|
||||
tream][@(0.0.255) `&]_[*@3 `_s])&]
|
||||
[s2; Sets the Stream to be used as source of image data. Derived
|
||||
|
|
@ -64,4 +64,5 @@ mage][@(0.0.255) `&]_[*@3 img])&]
|
|||
ng]([@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 img])&]
|
||||
[s2; Stores [%-*@3 img] to memory and returns resulting binary data
|
||||
as String.&]
|
||||
[s3; &]
|
||||
[s0; ]
|
||||
Loading…
Add table
Add a link
Reference in a new issue