Subversion Repositories Kolibri OS

Rev

Rev 6089 | Rev 6171 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6089 Rev 6168
Line 23... Line 23...
23
  * eax = 0 - function number
23
  * eax = 0 - function number
24
  * ebx = [coordinate on axis x]*65536 + [size on axis x]
24
  * ebx = [coordinate on axis x]*65536 + [size on axis x]
25
  * ecx = [coordinate on axis y]*65536 + [size on axis y]
25
  * ecx = [coordinate on axis y]*65536 + [size on axis y]
26
  * edx = 0xXYRRGGBB, where:
26
  * edx = 0xXYRRGGBB, where:
27
    * Y = style of the window:
27
    * Y = style of the window:
28
      * Y=0 - type I - fixed-size window
-
 
29
      * Y=1 - only define window area, draw nothing
28
      * Y=1 - only define window area, draw nothing
30
      * Y=2 - type II - variable-size window
-
 
31
      * Y=3 - skinned window
29
      * Y=3 - skinned window
32
      * Y=4 - skinned fixed-size window
30
      * Y=4 - skinned fixed-size window
33
      * other possible values (from 5 up to 15) are reserved,
31
      * other possible values (0, 2, from 5 to 15) are reserved
34
        function call with such Y is ignored
-
 
35
    * RR, GG, BB = accordingly red, green, blue components of a color
32
    * RR, GG, BB = accordingly red, green, blue components of a color
36
      of the working area of the window (are ignored for style Y=1)
33
      of the working area of the window (are ignored for style Y=1)
37
    * X = DCBA (bits)
34
    * X = DCBA (bits)
38
      * A = 1 - window has caption; for styles Y=3,4 caption string
35
      * A = 1 - window has caption
39
                  must be passed in edi, for other styles use
-
 
40
                  subfunction 1 of function 71
-
 
41
      * B = 1 - coordinates of all graphics primitives are relative to
36
      * B = 1 - coordinates of all graphics primitives are relative to
42
                  window client area
37
                  window client area
43
      * C = 1 - don't fill working area on window draw
38
      * C = 1 - don't fill working area on window draw
44
      * D = 0 - normal filling of the working area, 1 - gradient
39
      * D = 0 - normal filling of the working area, 1 - gradient
45
    The following parameters are intended for windows
40
    The following parameters are intended for windows
46
    of a type I and II, and ignored for styles Y=1,3:
41
    of a type I and II, and ignored for styles Y=1,3:
47
  * esi = 0xXYRRGGBB - color of the header
42
  * esi = 0xXYRRGGBB - color of the header
48
    * RR, GG, BB define color
43
    * RR, GG, BB define color
49
    * Y=0 - usual window, Y=1 - unmovable window (works for all window styles)
44
    * Y=0 - usual window, Y=1 - unmovable window (works for all window styles)
50
    * X defines a gradient of header: X=0 - no gradient,
-
 
51
      X=8 - usual gradient,
-
 
52
      for windows of a type II X=4 - negative gradient
-
 
53
    * other values of X and Y are reserved
45
    * X not used, other values of Y are reserved
54
  * edi = 0x00RRGGBB - color of the frame
46
  * edi = caption string for styles Y=3,4 (also can be set by func 71.1)
55
Returned value:
47
Returned value:
56
  * function does not return value
48
  * function does not return value
57
Remarks:
49
Remarks:
58
  * Position and sizes of the window are installed by the first
50
  * Position and sizes of the window are installed by the first
59
    call of this function and are ignored at subsequent; to change
51
    call of this function and are ignored at subsequent; to change
Line 77... Line 69...
77
    the left upper corner of the window, which, thus, is set as (0,0),
69
    the left upper corner of the window, which, thus, is set as (0,0),
78
    coordinates of the right lower corner essence (xsize,ysize).
70
    coordinates of the right lower corner essence (xsize,ysize).
79
  * The sizes of the window are understood in sence of coordinates
71
  * The sizes of the window are understood in sence of coordinates
80
    of the right lower corner. This concerns all other functions too.
72
    of the right lower corner. This concerns all other functions too.
81
    It means, that the real sizes are on 1 pixel more.
73
    It means, that the real sizes are on 1 pixel more.
82
  * The window of type I looks as follows:
-
 
83
    * draw external frame of color indicated in edi, 1 pixel in width
-
 
84
    * draw header - rectangle with the left upper corner (1,1) and
-
 
85
      right lower (xsize-1,min(20,ysize-1)) color indicated in esi
-
 
86
      (taking a gradient into account)
-
 
87
    * if ysize>21, fill the working area of the window -
-
 
88
      rectangle with the left upper corner (1,21) and right lower
-
 
89
      (xsize-1,ysize-1) (sizes (xsize-1)*(ysize-21)) with color
-
 
90
      indicated in edx (taking a gradient into account)
-
 
91
    * if A=1 and caption has been already set by subfunction 1
-
 
92
      of function 71, it is drawn in the corresponding place of header
-
 
93
  * The window of style Y=1 looks as follows:
74
  * The window of style Y=1 looks as follows:
94
    * completely defined by the application
75
    * completely defined by the application
95
  * The window of type II looks as follows:
-
 
96
    * draw external frame of width 1 pixel with the "shaded" color
-
 
97
      edi (all components of the color decrease twice)
-
 
98
    * draw intermediate frame of width 3 pixels with color edi
-
 
99
    * draw internal frame of width 1 pixel with the "shaded" color edi
-
 
100
    * draw header - rectangle with the left upper corner (4,4)
-
 
101
      and right lower (xsize-4,min(20,ysize)) color, indicated in esi
-
 
102
      (taking a gradient into account)
-
 
103
    * if ysize>=26, fill the working area of the window -
-
 
104
      rectangle with the left upper corner (5,20) and right lower
-
 
105
      (xsize-5,ysize-5) with color indicated in edx
-
 
106
      (taking a gradient into account)
-
 
107
    * if A=1 and caption has been already set by subfunction 1
-
 
108
      of function 71, it is drawn in the corresponding place of header
-
 
109
  * The skinned window looks as follows:
76
  * The skinned window Y=3,4 looks as follows:
110
    * draw external frame of width 1 pixel
77
    * draw external frame of width 1 pixel
111
      with color 'outer' from the skin
78
      with color 'outer' from the skin
112
    * draw intermediate frame of width 3 pixel
79
    * draw intermediate frame of width 3 pixel
113
      with color 'frame' from the skin
80
      with color 'frame' from the skin
114
    * draw internal frame of width 1 pixel
81
    * draw internal frame of width 1 pixel