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 |