Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Introduced new macro "rstruct" it creates reverve structures - i.e. that have all fields on negative offsets - as string structure for example. (btw, the string structure was fixed to use rstruct);
The compatibility GUI editor macroses has been fixed to support more FreshLib windows. |
|---|---|
| Timelines: | family | ancestors | descendants | both | FreshLibDev |
| Files: | files | file ages | folders |
| SHA1: |
3b83e10d0ca90bb79bbd28dfb34d94ec |
| User & Date: | johnfound 2013-02-06 19:32:21.578 |
Context
|
2013-02-12
| ||
| 10:30 | The license of FreshLib has been changed to BSD 2-clause license. Check it in freshlib/License.txt check-in: c6a07aa557 user: johnfound tags: FreshLibDev | |
|
2013-02-06
| ||
| 19:32 |
Introduced new macro "rstruct" it creates reverve structures - i.e. that have all fields on negative offsets - as string structure for example. (btw, the string structure was fixed to use rstruct);
The compatibility GUI editor macroses has been fixed to support more FreshLib windows. check-in: 3b83e10d0c user: johnfound tags: FreshLibDev | |
|
2013-01-25
| ||
| 14:03 | Changed gui/Win32/windows.asm procedure _RefreshWindow to use RedrawWindow instead of InvalidateRect in order to get better response of the user interface. check-in: 5dc8db060e user: lhmnai0 tags: FreshLibDev | |
Changes
Changes to freshlib/data/strlib.asm.
| ︙ | ︙ | |||
14 15 16 17 18 19 20 | ;_________________________________________________________________________________________ module "String library" STR_MINSTRLEN = 127 ; must be N*8-1 STR_SEARCH_ONE_ATEMPT = 100 | > | > | | < < < < < | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ;_________________________________________________________________________________________ module "String library" STR_MINSTRLEN = 127 ; must be N*8-1 STR_SEARCH_ONE_ATEMPT = 100 rstruct string .capacity dd ? .len dd ? . rb 0 ends ; NumToStr flags ntsSigned = $00000 ntsUnsigned = $10000 ntsFixedWidth = $20000 |
| ︙ | ︙ |
Changes to freshlib/gui/OldTemplates.inc.
| ︙ | ︙ | |||
13 14 15 16 17 18 19 |
\}
}
macro Window name, flags, walign, class, txt, style, styleEx, ID, left, top, width, height, [props] {
common
| | > > | | | | | | | | < < > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
\}
}
macro Window name, flags, walign, class, txt, style, styleEx, ID, left, top, width, height, [props] {
common
local ..paramsize, ..prms, ..caption, ..name, ..subtype, ..txtalign, ..class
..subtype = style and $0f
..txtalign = 0
if ~name eq NONE
name#.template#:
end if
; flags
dd flags ; the values are the same
..class = CWindow
; class
if class eq 'TForm'
..class = CForm
else
if class eq 'BUTTON'
if ..subtype = 0 ; BS_PUSHBUTTON
..class = CButton
..txtalign = dtfAlignCenter or dtfAlignMiddle
end if
if ..subtype = 2 ; BS_CHECKBOX
..class = CCheckBox
end if
if ..subtype = 4 ; BS_RADIOBUTTON
..class = CRadioButton
end if
else
if class eq 'EDIT'
if (style and 4) ;ES_MULTILINE
..class = CFreshEdit ; it is not good to use CFreshEdit, but we don't have light multiline edit.
else
..class = CEdit
end if
else
if class eq 'STATIC'
..class = CLabel
if ..subtype = 1 ; SS_CENTER
..txtalign = ..txtalign or dtfAlignCenter
end if
if ..subtype = 2 ; SS_RIGHT
..txtalign = ..txtalign or dtfAlignCenter
end if
if (style and $200) ;SS_CENTERIMAGE
..txtalign = ..txtalign or dtfAlignMiddle
end if
else
if class eq 'msctls_progress32'
..class = CProgress
end if
end if
end if
end if
end if
dd ..class
; name
if name eq NONE
dd ..name
else
dd name
end if
|
| ︙ | ︙ | |||
108 109 110 111 112 113 114 |
dd TWindow.width
dd width
dd TWindow.height
dd height
| > | > > > > > > > | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
dd TWindow.width
dd width
dd TWindow.height
dd height
if (..class = CForm)|(..class = CButton)|(..class = CLabel)
dd TWindow.Caption
else
if ..class = CEdit
dd TEdit.Text
else
dd TFreshEdit.Text
end if
end if
dd ..caption
if (style and $10000000) <> 0 ; WS_VISIBLE
dd TWindow.Visible
dd 1
end if
if ..txtalign
if ..class = CButton
dd TButton.TextAlign
else
dd TLabel.TextAlign
end if
dd ..txtalign
end if
forward
|
| ︙ | ︙ |
Changes to freshlib/macros/_struct.inc.
| ︙ | ︙ | |||
9 10 11 12 13 14 15 |
;
; Dependencies:
;
; Notes:
;_________________________________________________________________________________________
macro struct name {
| | > > | > > > > > > > > > > > > > > > > < | < < < | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
;
; Dependencies:
;
; Notes:
;_________________________________________________________________________________________
macro struct name {
macro name@struct \{
virtual at 0
name name
sizeof.#name = $
end virtual
\}
struc name \{
}
macro rstruct name {
macro name@struct \{
\local ..start, ..size
virtual at -..size
..start:
name name
..size = $ - ..start
sizeof.#name = ..size
end virtual
\}
struc name \{
}
ends fix } struct_helper
macro struct_helper {
name@struct
purge name@struc
}
|