Subversion Repositories Kolibri OS

Rev

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

Rev 3908 Rev 4265
Line 31... Line 31...
31
      * Y=3 - skinned window
31
      * Y=3 - skinned window
32
      * Y=4 - skinned fixed-size window
32
      * Y=4 - skinned fixed-size window
33
      * other possible values (from 5 up to 15) are reserved,
33
      * other possible values (from 5 up to 15) are reserved,
34
        function call with such Y is ignored
34
        function call with such Y is ignored
35
    * RR, GG, BB = accordingly red, green, blue components of a color
35
    * RR, GG, BB = accordingly red, green, blue components of a color
36
      of the working area of the window (are ignored for style Y=2)
36
      of the working area of the window (are ignored for style Y=1)
37
    * X = DCBA (bits)
37
    * X = DCBA (bits)
38
      * A = 1 - window has caption; for styles Y=3,4 caption string
38
      * A = 1 - window has caption; for styles Y=3,4 caption string
39
                  must be passed in edi, for other styles use
39
                  must be passed in edi, for other styles use
40
                  subfunction 1 of function 71
40
                  subfunction 1 of function 71
41
      * B = 1 - coordinates of all graphics primitives are relative to
41
      * B = 1 - coordinates of all graphics primitives are relative to
Line 44... Line 44...
44
      * D = 0 - normal filling of the working area, 1 - gradient
44
      * D = 0 - normal filling of the working area, 1 - gradient
45
    The following parameters are intended for windows
45
    The following parameters are intended for windows
46
    of a type I and II, and ignored for styles Y=1,3:
46
    of a type I and II, and ignored for styles Y=1,3:
47
  * esi = 0xXYRRGGBB - color of the header
47
  * esi = 0xXYRRGGBB - color of the header
48
    * RR, GG, BB define color
48
    * RR, GG, BB define color
49
    * Y=0 - usual window, Y=1 - unmovable window
49
    * Y=0 - usual window, Y=1 - unmovable window (works for all window styles)
50
    * X defines a gradient of header: X=0 - no gradient,
50
    * X defines a gradient of header: X=0 - no gradient,
51
      X=8 - usual gradient,
51
      X=8 - usual gradient,
52
      for windows of a type II X=4 - negative gradient
52
      for windows of a type II X=4 - negative gradient
53
    * other values of X and Y are reserved
53
    * other values of X and Y are reserved
54
  * edi = 0x00RRGGBB - color of the frame
54
  * edi = 0x00RRGGBB - color of the frame
Line 365... Line 365...
365
    * +70 = +0x46: byte: state of the window - bitfield
365
    * +70 = +0x46: byte: state of the window - bitfield
366
      * bit 0 (mask 1): window is maximized
366
      * bit 0 (mask 1): window is maximized
367
      * bit 1 (mask 2): window is minimized to panel
367
      * bit 1 (mask 2): window is minimized to panel
368
      * bit 2 (mask 4): window is rolled up
368
      * bit 2 (mask 4): window is rolled up
369
    * +71 = +0x47: dword: event mask
369
    * +71 = +0x47: dword: event mask
-
 
370
    * +75 = +0x4B: byte: keyboard mode(ASCII = 0; SCAN = 1)
370
Remarks:
371
Remarks:
371
  * Slots are numbered starting from 1.
372
  * Slots are numbered starting from 1.
372
  * Returned value is not a total number of threads, because there
373
  * Returned value is not a total number of threads, because there
373
    can be free slots.
374
    can be free slots.
374
  * When process is starting, system automatically creates
375
  * When process is starting, system automatically creates
Line 409... Line 410...
409
  * If the thread has not yet defined the window by call to
410
  * If the thread has not yet defined the window by call to
410
    function 0, the position and the sizes
411
    function 0, the position and the sizes
411
    of its window are considered to be zero.
412
    of its window are considered to be zero.
412
  * Coordinates of the client area are relative to the window.
413
  * Coordinates of the client area are relative to the window.
413
  * At the moment only the part of the buffer by a size
414
  * At the moment only the part of the buffer by a size
414
    71 = 0x37 bytes is used. Nevertheless it is recommended to use
415
    76 = 0x4C bytes is used. Nevertheless it is recommended to use
415
    1-Kb buffer for the future compatibility, in the future
416
    1-Kb buffer for the future compatibility, in the future
416
    some fields can be added.
417
    some fields can be added.
Line 417... Line 418...
417
 
418
 
418
======================================================================
419
======================================================================
Line 1783... Line 1784...
1783
  * ecx = pointer to a block of data:
1784
  * ecx = pointer to a block of data:
1784
          sysdir_name     rb 64
1785
          sysdir_name     rb 64
1785
          sysdir_path     rb 64
1786
          sysdir_path     rb 64
1786
For example:
1787
For example:
1787
dir_name1       db 'KolibriOS',0
1788
dir_name1       db 'KolibriOS',0
1788
                rb 64-8
1789
                rb 64-10
1789
dir_path1       db 'HD0/1',0
1790
dir_path1       db 'HD0/1',0
1790
                rb 64-6
1791
                rb 64-6
1791
Returned value:
1792
Returned value:
1792
  * function does not return value
1793
  * function does not return value
1793
Remarks:
1794
Remarks:
Line 2008... Line 2009...
2008
10, 11, 23 - they notify only about events allowed by this mask.
2009
10, 11, 23 - they notify only about events allowed by this mask.
2009
Parameters:
2010
Parameters:
2010
  * eax = 40 - function number
2011
  * eax = 40 - function number
2011
  * ebx = mask: bit i corresponds to event i+1 (see list of events)
2012
  * ebx = mask: bit i corresponds to event i+1 (see list of events)
2012
    (set bit permits notice on event)
2013
    (set bit permits notice on event)
2013
    bit 31: active/inactive filter
2014
    bit 31: mouse active/inactive filter
2014
    bit 31 = 0 - inactive window receive mouse events
2015
    bit 31 = 0 - inactive window receive mouse events
2015
    bit 31 = 1 - inactive window does not receive mouse events
2016
    bit 31 = 1 - inactive window does not receive mouse events
2016
    bit 30: cursor position filter
2017
    bit 30: cursor position filter
2017
    bit 30 = 0 = the window receive mouse events if cursor
2018
    bit 30 = 0 = the window receive mouse events if cursor
2018
                 outside window
2019
                 outside window
Line 2409... Line 2410...
2409
  * eax = -1 - error (there is too many threads)
2410
  * eax = -1 - error (there is too many threads)
2410
  * otherwise eax = TID - thread identifier
2411
  * otherwise eax = TID - thread identifier
2411
    
2412
    
Line 2412... Line 2413...
2412
 
2413
 
-
 
2414
======================================================================
-
 
2415
==================== Function 54, subfunction 0 ======================
-
 
2416
============== Get the number of slots in the clipboard. =============
-
 
2417
======================================================================
-
 
2418
Parameters:
-
 
2419
  * eax = 54 - function number
-
 
2420
  * ebx = 0 - subfunction number
-
 
2421
Returned value:
-
 
2422
  * eax = slots in the clipboard
-
 
2423
  * eax = -1 - main list area not found
-
 
2424
 
-
 
2425
======================================================================
-
 
2426
==================== Function 54, subfunction 1 ======================
-
 
2427
================= Read the data from the clipboard. ==================
-
 
2428
======================================================================
-
 
2429
Parameters:
-
 
2430
  * eax = 54 - function number
-
 
2431
  * ebx = 1 - subfunction number
-
 
2432
  * eсx = slot number
-
 
2433
Returned value:
-
 
2434
  * eax = if successful - pointer to a memory with data
-
 
2435
  * eax = 1 - error
-
 
2436
  * eax = -1 - main list area not found
-
 
2437
 
-
 
2438
======================================================================
-
 
2439
==================== Function 54, subfunction 2 ======================
-
 
2440
================= Write the data to the clipboard. ===================
-
 
2441
======================================================================
-
 
2442
Parameters:
-
 
2443
  * eax = 54 - function number
-
 
2444
  * ebx = 2 - subfunction number
-
 
2445
  * eсx = the number of bytes to be copied
-
 
2446
  * edx = a pointer to a buffer for data to be copied
-
 
2447
Returned value:
-
 
2448
  * eax = 0 - success
-
 
2449
  * eax = 1 - error
-
 
2450
  * eax = -1 - main list area not found
-
 
2451
 
-
 
2452
======================================================================
-
 
2453
===================== Function 54, subfunction 3 =====================
-
 
2454
================ Delete the last slot in the clipboard ===============
-
 
2455
======================================================================
-
 
2456
Parameters:
-
 
2457
  * eax = 54 - function number
-
 
2458
  * ebx = 3 - subfunction number
-
 
2459
Returned value:
-
 
2460
  * eax = 0 - success
-
 
2461
  * eax = 1 - error
-
 
2462
  * eax = -1 - main list area not found
-
 
2463
  
-
 
2464
======================================================================
-
 
2465
===================== Function 54, subfunction 4 =====================
-
 
2466
===================== Alarm reset the lock buffer ====================
-
 
2467
======================================================================
-
 
2468
Parameters:
-
 
2469
  * eax = 54 - function number
-
 
2470
  * ebx = 4 - subfunction number
-
 
2471
Returned value:
-
 
2472
  * eax = 0 - success
-
 
2473
  * eax = -1 - main list area not found or no blocking
-
 
2474
Remarks:
-
 
2475
  * Used in exceptional cases, where no responsible or killed
-
 
2476
    application blocked the clipboard operations.
-
 
2477
 
2413
======================================================================
2478
======================================================================
2414
 Function 55, subfunction 55 - begin to play data on built-in speaker.
2479
 Function 55, subfunction 55 - begin to play data on built-in speaker.
2415
======================================================================
2480
======================================================================
2416
Parameters:
2481
Parameters:
2417
  * eax = 55 - function number
2482
  * eax = 55 - function number
Line 3951... Line 4016...
3951
  * ebx = pointer to the information structure
4016
  * ebx = pointer to the information structure
3952
Format of the information structure:
4017
Format of the information structure:
3953
  * +0: dword: 2 = subfunction number
4018
  * +0: dword: 2 = subfunction number
3954
  * +4: dword: 0 (reserved)
4019
  * +4: dword: 0 (reserved)
3955
  * +8: dword: 0 (reserved)
4020
  * +8: dword: 0 (reserved)
3956
  * +12 = +0xC: dword: number of bytes to read
4021
  * +12 = +0xC: dword: number of bytes to write
3957
  * +16 = +0x10: dword: pointer to data
4022
  * +16 = +0x10: dword: pointer to data
3958
  * +20 = +0x14: ASCIIZ-name of file, the rules of names forming are
4023
  * +20 = +0x14: ASCIIZ-name of file, the rules of names forming are
3959
    given in the general description
4024
    given in the general description
3960
    or
4025
    or
3961
  * +20 = +0x14: db 0
4026
  * +20 = +0x14: db 0