<sect3>DrawLine
<p>
-<tt/void DrawLine (struct window *myWindow)/
+<tt/void DrawLine (char mode, struct window *myWindow)/
<p>
<tt/top/ parameters of <tt/struct window/ describe the starting point of the line, while
-<tt/bottom/ are for the ending point. Current pattern from <tt/SetPattern/ is used for drawing.
+<tt/bottom/ are for the ending point. If <tt/mode/ is <tt/DRAW_DRAW/ then current pattern from
+<tt/SetPattern/ is used for drawing. If <tt/mode/ is <tt/DRAW_ERASE/ then line is erased from the
+screen. If <tt/mode/ is <tt/DRAW_COPY/ then line is copied from/to back/frontbuffer, according to
+<tt/dispBufferOn/ setting.
<sect2>Point Functions
<p>
void __fastcall__ ImprintRectangle(void);
void __fastcall__ RecoverRectangle(void);
-void __fastcall__ DrawLine(struct window *topBotCoords);
+void __fastcall__ DrawLine(char mode, struct window *topBotCoords);
void __fastcall__ DrawPoint(struct pixel *myPixel);
char __fastcall__ TestPoint(struct pixel *myPixel);
/* justification */
#define SET_RIGHTJUST 0
#define SET_LEFTJUST 0x80
-/* C128 x flags */
+/* C128 x-extension flags */
#define ADD1_W 0x2000
#define DOUBLE_B 0x80
#define DOUBLE_W 0x8000
+/* DrawLine mode values */
+#define DRAW_ERASE 0x00
+#define DRAW_DRAW 0x40
+#define DRAW_COPY 0x80
typedef void graphicStr;
;
-; Maciej 'YTM/Alliance' Witkowiak
+; Maciej 'YTM/Elysium' Witkowiak
;
-; 29.10.99
+; 29.10.99, 15.08.2003
-; void DrawLine (struct window *mywindow);
+; void DrawLine (char mode, struct window *mywindow);
.import _InitDrawWindow
+ .import popa
+ .importzp tmp1
.export _DrawLine
.include "../inc/jumptab.inc"
jsr _InitDrawWindow
MoveW r2, r11
PopW r2
+ jsr popa
+ sta tmp1
+ bit tmp1
jmp DrawLine