Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
7707 Alex2003 1
2
xmlns:o="urn:schemas-microsoft-com:office:office"
3
xmlns:w="urn:schemas-microsoft-com:office:word"
4
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
5
xmlns="http://www.w3.org/TR/REC-html40">
6
 
7
8
9
10
11
12
13
31
32
33
332
416
447
448
 
449
450
 
451
452
 
453

Back to

456
main

457
 
458

 

461
 
462

Function 4 - draw

465
a line of text

466
 
467

 

470
 
471

Characteristic:

474
 
475

  *

478
class=GramE>eax = 4 is the number of functions

479
 
480

  *

483
class=GramE>ebx = X*65536+Y, window or buffer coordinates

484
 
485

  *

488
class=GramE>ecx = 0xXXRRGGBB, where

489
 
490

    * RR, GG, BB set the text

493
color

494
 
495

    * XX=ABFFCSSS (bits):

498
 
499

      * A=1-the drawn line ends

502
with zero

503
 
504

      * B=1-paint the background

507
(color = edi)

508
 
509

      * FF sets font and encoding:

512
 
513

        0 = 6x9 cp866

516
 
517

        1 = 8x16 cp866

520
 
521

        2 = 8x16 UTF-16LE

524
 
525

        3 = 8x16 UTF-8

528
 
529

      * C=0-draw to window,

532
 
533

        C=1 - draw to clipboard (

536
class=SpellE>edi)

537
 
538

      * SSS = (size multiplier)-1,

541
i.e. 0 = x1, 7 = x8

542
 
543

  *

546
class=GramE>edx = pointer to the beginning of the line

547
 
548

  *

551
class=GramE>esi = for A=0 string length, for A=1 ignored

552
 
553

  *

556
class=GramE>edi = if B=1-background color,

557
 
558

          if

561
C=1 - pointer to buffer

562
 
563

 

566
 
567

Returned value:

570
 
571

  * function

574
does not return a value

575
 
576

Comments:

579
 
580

  * You cannot use B=1 and C=1 at

583
the same time,

584
 
585

    because

588
in both cases the edi register is used.

589
 
590

  * If SSS=0, the font may be

593
smoothed,

594
 
595

    depending

598
on the system setting.

599
 
600

  * Buffer structure:

603
 
604

Xsize dd

608
 
609

Ysize dd

613
 
614

picture

617
style='font-family:"Arial","sans-serif";mso-ansi-language:EN-US'> 
618
class=SpellE>rb Xsize*Ysize*4
619
; 32 bits

620
 
621

 

624
 
625

Constants for registers:

628
 
629

 

632
class=GramE>eax - SF_DRAW_TEXT (4)

633
 
634
635
 
636
637
 
638