5 INCLUDE "exec/funcdef.i"
6 INCLUDE "exec/exec_lib.i"
7 INCLUDE "lvo/utility_lib.i"
8 INCLUDE "intuition/intuitionbase.i"
9 ; INCLUDE "lvo/intuition_lib.i"
10 INCLUDE "lvo/graphics_lib.i"
12 INCLUDE "utility/hooks.i"
14 INCLUDE "libraries/gadtools.i"
16 INCLUDE "intuition/intuition.i"
17 INCLUDE "lvo/intuition_lib.i"
18 INCLUDE "intuition/classes.i"
19 INCLUDE "intuition/classusr.i"
20 INCLUDE "intuition/imageclass.i"
22 INCLUDE "libraries/reqtools.i"
23 INCLUDE "lvo/reqtools_lib.i"
29 XDEF _FillNewLineTable
37 XDEF
@SetWinTitleFlash
46 * void __regargs SetWinTitleFlash
(struct Window
*win
, char
*str)
50 move.l _IntuitionBase
(a4
),a6
52 move.l wd_WScreen
(a0
),a0
53 jsr _LVODisplayBeep
(a6
)
57 jsr _LVOSetWindowTitles
(a6
)
61 * void __regargs DoWaitPointer
(struct Window
*win
, int doit
, int setpointer
)
75 move.l _ReqToolsBase
(a4
),a6
76 jsr _LVOrtSetWaitPointer
(a6
)
80 move.l _IntuitionBase
(a4
),a6
81 jsr _LVOClearPointer
(a6
)
87 * APTR __regargs DoLockWindow
(struct Window
*win
, int doit
, APTR
lock, int lockit
)
97 move.l _ReqToolsBase
(a4
),a6
101 jsr _LVOrtLockWindow
(a6
)
105 jsr _LVOrtUnlockWindow
(a6
)
111 * void __regargs SpreadColors
(GlobData
*glob
, int from
, int to
, long
*rgb2
)
117 greenbits
equ (redbits
+4)
118 bluebits
equ (greenbits
+4)
120 * _LVOSetRGB32
equ -$354
127 move.l d0
,d1
; shift color value completely to the left
132 or.l d1
,d0
; shift right and or
140 movem.l d2
-d7
/a2
-a6
,-(a7
)
142 lea 12(a7
),a2
; a2 -> rgb[3]
143 move.l a7
,a3
; a3 -> rgbstep[3]
144 moveq #
1,d4
; d4 = colstep = 1
149 sub.l d5
,d2
; d2 = steps
160 move.l cols
(a5
,d3.w
),d7
166 move.l _UtilityBase
(a4
),a6
167 jsr _LVOSDivMod32
(a6
) ; ((rgb2[i] - rgb[i]) << 16) / steps
170 move.l d7
,0(a2
,d3.w
) ; rgb[i] = glob->cols[i] << 16
173 move.l #
$8000,d7
; d7 = .5 (16 bits fixed point)
185 move.l _GfxBase
(a4
),a6
187 cmp.w LIB_VERSION
(a6
),d0
196 move.l redbits
(a5
),d4
200 move.l greenbits
(a5
),d4
204 move.l bluebits
(a5
),d4
224 movem.l
(a7
)+,d2
-d7
/a2
-a6
227 ;_LVORawDoFmt equ -$20a
229 * if you want to count the newlines
and the number of chars
call DoFmt with
230 * buff
== NULL
and with
ptr pointing to an array of
2 longs. array
[0] will
231 * hold the number of lines
, array
[1] the number of chars.
232 * Initialize array
[1] and array
[0] to
1!
234 * void DofmtCount
(char
*fmt
, APTR args
, ULONG
*ptr, int mode
);
237 * void Dofmt
(char
*buff
, char
*fmt
, APTR args
);
240 * void __stdargs DofmtArgs
(char
*buff
, char
*fmt
,...
);
244 movem.l a2
/a3
/a6
,-(a7
)
251 movem.l a2
/a3
/a6
,-(a7
)
258 lea CountNewLinesAndChars
(PC
),a2
262 lea CountBarsAndChars
(PC
),a2
266 movem.l a2
/a3
/a6
,-(a7
)
268 lea PutCharInBuff
(PC
),a2
272 movem.l
(a7
)+,a2
/a3
/a6
285 CountNewLinesAndChars:
296 * void FillBarTable
(char
**table
, char
*buff
)
299 * void FillNewLineTable
(char
**table
, char
*buff
)
322 * ULONG __asm LoopReqHandler
(register __a1
struct rtHandlerInfo
*)
331 tst.l rthi_DoNotWait
(a1
)
335 move.l rthi_WaitMask
(a1
),d0
344 jsr rtReqHandlerA
(PC
)
346 cmp.l #CALL_HANDLER
,d0
352 * ULONG __stdargs CallHook
(struct Hook
*, APTR
,...
);
359 move.l h_Entry
(a0
),a3
364 * void StrCat
(UBYTE
*, UBYTE
*);
383 * ULONG __saveds GetString
(
384 * register __a1 UBYTE
*stringbuff
, /* str in case of rtEZRequestA
*/
385 * register __d0
int maxlen
, /* args
in case of rtEZRequestA
*/
386 * register __a2 char
*title, /* gadfmt
in case of rtEZRequestA
*/
387 * register __d1 ULONG checksum
,
388 * register __d2 ULONG
*value
,
389 * register __d3
int mode
,
390 * register __d4
struct rtReqInfo
*reqinfo
,
391 * register __a0
struct TagItem
*taglist
)