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
3604
3634
3635
 
3636
3637
 
3638
3639
 
3640

3643
href="../KolibriOS%20help%20system%20Engl/SF%20KOS.htm">Back to main

3644
 
3645

 

3648
 
3649

Function 50 -

3652
Set Window Form

3653
 
3654

 

3657
 
3658

Regular windows are rectangles. With this function,

3661
the window can be given an arbitrary shape. The form is defined by a set of
3662
points inside the framing rectangle belonging to the window. Position and the
3663
sizes of the framing rectangle are set by function 0 and change by function 67.

3664
 
3665

 

3668
 
3669

Data Setup with Form Information

3673
 
3674

 

3676
 
3677

Options:

3680
 
3681

3684
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3685
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3686
style='mso-list:Ignore'>·        
3687
3688
style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";mso-ansi-language:
3689
EN-US'>eax = 50 - function
3691
number

3692
 
3693

3696
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3697
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3698
style='mso-list:Ignore'>·        
3699
3700
style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";mso-ansi-language:
3701
EN-US'>ebx = 0 - number of 
3703
class=SpellE>subfunction

3704
 
3705

3708
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3709
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3710
style='mso-list:Ignore'>·        
3711
3712
style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";mso-ansi-language:
3713
EN-US'>ecx = pointer to the
3715
form data (byte array 0/1)

3716
 
3717

Return value:

3720
 
3721

3724
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3725
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3726
style='mso-list:Ignore'>·        
3727
function does not
3729
return value

3730
 
3731

 

3734
 
3735

Scaling form data

3739
style='font-size:14.0pt;mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif"'>

3740
 
3741

 

3744
 
3745

Options:

3748
 
3749

3752
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3753
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3754
style='mso-list:Ignore'>·        
3755
3756
style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";mso-ansi-language:
3757
EN-US'>eax = 50 - function
3759
number

3760
 
3761

3764
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3765
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3766
style='mso-list:Ignore'>·        
3767
3768
style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";mso-ansi-language:
3769
EN-US'>ebx = 1 - number of 
3771
class=SpellE>subfunction

3772
 
3773

3776
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3777
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3778
style='mso-list:Ignore'>·        
3779
3780
style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";mso-ansi-language:
3781
EN-US'>ecx sets the scale: each
3783
data byte defines (2 ^ scale) * (2 ^ scale) pixels

3784
 
3785

Return value:

3788
 
3789

3792
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3793
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3794
style='mso-list:Ignore'>·        
3795
function does not
3797
return value

3798
 
3799

 

3802
 
3803

Remarks:

3806
 
3807

3810
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3811
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3812
style='mso-list:Ignore'>·        
3813
3814
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3815
mso-ansi-language:EN-US'>The default scale is 0 (scaling factor 1). If in the
3816
form data one byte corresponds to one pixel, then the scale can be not set.

3817
 
3818

3821
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3822
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3823
style='mso-list:Ignore'>·        
3824
3825
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3826
mso-ansi-language:EN-US'>Denote xsize = window width
3827
(in pixels), ysize = height; note that they are one
3828
more than those set by functions 0, 67.

3829
 
3830

3833
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3834
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3835
style='mso-list:Ignore'>·        
3836
3837
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3838
mso-ansi-language:EN-US'>By defining the scale, xsize
3839
and ysize should be divided by 2 ^ scale.

3840
 
3841

3844
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3845
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3846
style='mso-list:Ignore'>·        
3847
3848
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3849
mso-ansi-language:EN-US'>The data byte at offset a must be 0/1 and determines
3850
that the window has a square with a side of 2 ^ scale (with scale = 0 we get a
3851
pixel) and coordinates of the upper left corner (a mod (xsize
3852
shr scale), a div (xsize 
3853
class=SpellE>shr scale))

3854
 
3855

3858
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3859
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3860
style='mso-list:Ignore'>·        
3861
3862
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3863
mso-ansi-language:EN-US'>Data size: (xsize 
3864
class=SpellE>shr scale) * (ysize 
3865
class=SpellE>shr scale).

3866
 
3867

3870
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3871
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3872
style='mso-list:Ignore'>·        
3873
3874
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3875
mso-ansi-language:EN-US'>Data must be present in the memory and not change
3876
after setting the form.

3877
 
3878

3881
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3882
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3883
style='mso-list:Ignore'>·        
3884
3885
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3886
mso-ansi-language:EN-US'>The system views the form data every time the window
3887
is redrawn with function 0.

3888
 
3889

3892
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:Symbol;mso-fareast-font-family:
3893
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'>
3894
style='mso-list:Ignore'>·        
3895
3896
lang=EN-US style='mso-bidi-font-size:18.0pt;font-family:"Arial","sans-serif";
3897
mso-ansi-language:EN-US'>Calling subfunction 0 with a
3898
null pointer results in a return to a rectangular shape.

3899
 
3900

 

3903
 
3904

Constants for registers:

3907
 
3908

  eax

3911
- SF_SET_WINDOW_SHAPE (50)

3914
 
3915
3916
 
3917
3918
 
3919