= Rectangle_Filled =
Input: 10->X
D,E,H,L
1->Y or 0->Y
0->C or 1->C or
2->C
Output: Draw a rectangle with D,E,H,L (x1,y1,x2,y2)
Y=1 Draw in the LCD // Y=0 don't draw (saves in the Graphbuffer)
C=0 white rectangle // C=1 Black rect. // C=2 Xored rect.
Explanation: This functions it's in all of ZAPI83,
maybe, the most instable or dangerous...because like the other functions is
coded in assembly. So it can crash your calculator... and as you know I
don't have any responsibility. And why I'm talking about that? Like you
see...this function need lot's of vars (7 vars) (vars = variables like X, Y)
so you need use all of the need vars because your TI can crash... You can't
have x1>x2 (D>H) and y1>y2 (E>L). Other thing that you should
remember is that X1e[0,93] understand?? x1>0 and x1<94 (94 doesn't
make part).. for X2 it should be X2e[1,94] // Y1e[0,62] // Y2e]1,63]
I'm sorry because I couldn't have time to do that things...I have tried but
It didn't work.
The var C should be 0,1 or 2 I think you understand that...
The var Y is other thing... Let me explain... That what I'm going explain
you now will be need to the display of pics and sprites... so take
attention. OK Lets start: imagine that you want draw two squares or two
rectangles or whatever... If you use Y=1 in the two times you 'make' the
squares it will be draw the two times... ahrrrrrr. Sorry let me explain
again... Lets think with 3 squares, it's more easy. You use Y=1 and call
zapi83 to make the first square and it is draw, you call zapi83 to draw the
second, and finally the ....yes the last :) (how do you write 3rd :) Now is
you do the same thing but use Y=0 in the first two squares they won't be
displayed in the LCD but are saved in the Graphbuffer and this time you
shouldn't call any type of basic display graph (rrrr...like point //
pixel // Clrdraw // line ..etc) but you in the last square should use
Y=1 in order to display all the draw squares that was saved in the
Graphbuffer.
OK Why I put this thing of Y=0 or Y=1...because it can save
time...if you need to draw 10 squares in the LCD it's more fast make them appear
only in the last square draw than ever time you call zapi83 appear in the
LCD the square... I hope :) and I hope you understand this explanation
too :)
And now some words explained:
xor (ed) - When you draw a rectangle with the clause xor the
pixels where the rectangle pass will be inverted... Like if (1= pixel on)
and (0=pixel off) then if you have something in the LCD like 10011011 with
xor it will be 01100100 see?
GraphBuffer - The graph buffer is where the image
data is stored before be draw in the screen
LCD - Is the screen of your calculator. It means
Liquid Crystal Display. Is the screen type...
ahrrrrrr - This is what I usual write when I'm writing
and I can explain some thing, and you think why don't I clear the wrong
explanation and make it again...because I want you feel me :) And as I'm not
pay to do things like this...I want make them at my way...understand....ahrrRRrrr
Ops I forgot...some examples :)
PROGRAM:XXXX
:ClrDraw
:Pxl-Change(0,0)
:Pxl-Change(0,0)
:10->D:10->E
:83->H:53->L
:1->Y:1->C:10->X
:prgmZZAPI |
Next Tuturial:
- BG Pattern -
|