mirror of
https://github.com/cc65/cc65.git
synced 2025-01-12 17:30:50 +00:00
fixed bug in DrawLine function; extended DrawLine behavior
git-svn-id: svn://svn.cc65.org/cc65/trunk@2326 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
a0209d0a86
commit
1ce25913dd
@ -278,10 +278,13 @@ number as set in <tt/SetPattern/ but a true bit pattern.
|
|||||||
|
|
||||||
<sect3>DrawLine
|
<sect3>DrawLine
|
||||||
<p>
|
<p>
|
||||||
<tt/void DrawLine (struct window *myWindow)/
|
<tt/void DrawLine (char mode, struct window *myWindow)/
|
||||||
<p>
|
<p>
|
||||||
<tt/top/ parameters of <tt/struct window/ describe the starting point of the line, while
|
<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
|
<sect2>Point Functions
|
||||||
<p>
|
<p>
|
||||||
|
@ -30,7 +30,7 @@ void __fastcall__ InvertRectangle(void);
|
|||||||
void __fastcall__ ImprintRectangle(void);
|
void __fastcall__ ImprintRectangle(void);
|
||||||
void __fastcall__ RecoverRectangle(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);
|
void __fastcall__ DrawPoint(struct pixel *myPixel);
|
||||||
char __fastcall__ TestPoint(struct pixel *myPixel);
|
char __fastcall__ TestPoint(struct pixel *myPixel);
|
||||||
@ -166,10 +166,14 @@ void __fastcall__ GraphicsString(char *myGfxString);
|
|||||||
/* justification */
|
/* justification */
|
||||||
#define SET_RIGHTJUST 0
|
#define SET_RIGHTJUST 0
|
||||||
#define SET_LEFTJUST 0x80
|
#define SET_LEFTJUST 0x80
|
||||||
/* C128 x flags */
|
/* C128 x-extension flags */
|
||||||
#define ADD1_W 0x2000
|
#define ADD1_W 0x2000
|
||||||
#define DOUBLE_B 0x80
|
#define DOUBLE_B 0x80
|
||||||
#define DOUBLE_W 0x8000
|
#define DOUBLE_W 0x8000
|
||||||
|
/* DrawLine mode values */
|
||||||
|
#define DRAW_ERASE 0x00
|
||||||
|
#define DRAW_DRAW 0x40
|
||||||
|
#define DRAW_COPY 0x80
|
||||||
|
|
||||||
typedef void graphicStr;
|
typedef void graphicStr;
|
||||||
|
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
|
|
||||||
;
|
;
|
||||||
; 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 _InitDrawWindow
|
||||||
|
.import popa
|
||||||
|
.importzp tmp1
|
||||||
.export _DrawLine
|
.export _DrawLine
|
||||||
|
|
||||||
.include "../inc/jumptab.inc"
|
.include "../inc/jumptab.inc"
|
||||||
@ -20,4 +22,7 @@ _DrawLine:
|
|||||||
jsr _InitDrawWindow
|
jsr _InitDrawWindow
|
||||||
MoveW r2, r11
|
MoveW r2, r11
|
||||||
PopW r2
|
PopW r2
|
||||||
|
jsr popa
|
||||||
|
sta tmp1
|
||||||
|
bit tmp1
|
||||||
jmp DrawLine
|
jmp DrawLine
|
||||||
|
Loading…
x
Reference in New Issue
Block a user