Compare commits
2 Commits
laser-tank
...
9dffce56a5
Author | SHA1 | Date | |
---|---|---|---|
9dffce56a5 | |||
f2826efa87 |
@@ -85,6 +85,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
||||
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
|
||||
{"SETTINGS/SYSPANEL.INI", "ru_RU/settings/syspanel.ini"},
|
||||
}) elseif build_type == "en_US" then tup.append_table(img_files, {
|
||||
{"WELCOME.HTM", VAR_DATA .. "/" .. build_type .. "/welcome.htm.kpack"},
|
||||
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
|
||||
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
|
||||
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
|
||||
|
2
data/en_US/Tupfile.lua
Normal file
2
data/en_US/Tupfile.lua
Normal file
@@ -0,0 +1,2 @@
|
||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||
tup.rule("welcome.htm", "cp %f %o" .. tup.getconfig("KPACK_CMD"), "welcome.htm.kpack")
|
@@ -1,18 +1,33 @@
|
||||
<html><title>Welcome notes</title><body bgcolor=#fff>
|
||||
<html>
|
||||
<title>Welcome notes</title>
|
||||
|
||||
<h1><font color=1BB71A>Welcome to KolibriOS</font> 0.8.0.0 beta</h1>
|
||||
<pre>
|
||||
<body bgcolor=#fff>
|
||||
|
||||
<h1>
|
||||
<font color=1BB71A>Welcome to KolibriOS</font> 0.8.0.0 beta
|
||||
</h1>
|
||||
<pre>
|
||||
Dear friends,
|
||||
|
||||
What you see now is the most compact operating system in the whole world. Kolibri is a piece of programming art that is based on logic and coffee.
|
||||
What you see now is the most compact operating system in the whole world.
|
||||
KolibriOS is a piece of programming art that is based on logic and coffee.
|
||||
|
||||
As no one reads manuals, I'm here to help with the most common issues that new users of KolibriOS are facing. This document is also a required read for any <b>YouTube blogger</b> who wants to make a review of the system :)
|
||||
As no one reads manuals, I'm here to help with the most common issues that
|
||||
new users of KolibriOS are facing. This document is also required to read
|
||||
for any <b>YouTube blogger</b> who wants to make a review of the system :)
|
||||
|
||||
<dd><h3><kosicon n=5>Floppy version</h3>
|
||||
The asterisk [*] in the Menu means the app isn't available in the Floppy version, only in the Big distro (Flash/ISO/UEFI-HDD). Not all programs are available via Menu to encourage you to explore KolibriOS files by yourself.
|
||||
The asterisk [*] in the Menu means the app isn't available in the Floppy
|
||||
version, only in the Big distro (Flash/ISO/UEFI-HDD). Not all programs are
|
||||
available via Menu to encourage you to explore KolibriOS files by yourself.
|
||||
|
||||
<h3><kosicon n=25>If you have problems with USB</h3>
|
||||
Only USB1.1 and USB2 ports are supported, not USB3+. And yep, the USB driver is written entirely in assembler. Some motherboards have options like "USB Legacy Support" or something similar, which may help the system detect your device. Also, some ports on your motherboard may work while others may not, only G-d knows why. So, play with the BIOS/UEFI settings and try different ports.
|
||||
Only USB 1.1 and USB 2.0 ports are supported, not USB 3+. And yep, the USB
|
||||
driver is written entirely in assembler. Some motherboards have options like
|
||||
"USB Legacy Support" or something similar, which may help the system detect
|
||||
your device. Also, some ports on your motherboard may work while others may
|
||||
not, only G-d knows why. So, play with the BIOS/UEFI settings and try
|
||||
different ports.
|
||||
|
||||
<h3><kosicon n=7>Sound</h3>
|
||||
List of supported devices:
|
||||
@@ -21,58 +36,94 @@ List of supported devices:
|
||||
- SIS PCI audio (Sis 7012)
|
||||
- Creative labs EMU10K1X (Dell OEM)
|
||||
- Media Forte FM801
|
||||
- ISA Sound Blaster 16. Only THIS particular model works, not other SB cards that have software SB16-emulation
|
||||
- ISA Sound Blaster 16
|
||||
<i>Only THIS particular model works,
|
||||
not other cards that have software SB16-emulation</i>
|
||||
|
||||
<h3><kosicon n=61>Video</h3>
|
||||
By default, you can change the resolution only on the blue boot screen. The modes listed there are provided by the video card's BIOS. It is impossible to 'simply add additional screen modes to the list'. If video card's BIOS doesn't provide some modes then you need a driver. It is not possible to write a generic video card driver. Each driver must be written for a specific video card model.
|
||||
Intel and AMD drivers for some video cards are ported from Linux and are available in the Big distro. Check SYSPANEL. Features: change resolution in Kolibri, hardware cursor (not actual anymore), bit-blit operations accelerated.
|
||||
By default, you can change the resolution only on the blue boot screen.
|
||||
The modes listed there are provided by the video card's BIOS.
|
||||
It is impossible to 'simply add additional screen modes to the list'.
|
||||
If video card's BIOS doesn't provide some modes then you need a driver.
|
||||
It is not possible to write a generic video card driver.
|
||||
Separate driver must be written for each specific video card model.
|
||||
Intel and AMD drivers for some video cards are ported from Linux and are
|
||||
available in the Big distro.
|
||||
|
||||
Check SYSPANEL. Features: ability change resolution in KolibriOS,
|
||||
hardware cursor (not actual anymore), bit-blit operations acceleration.
|
||||
|
||||
<h3><kosicon n=25>Wi-Fi</h3>
|
||||
Not supported. You have to know that the Wi-Fi specification is so complex that it is almost impossible to write the code for it from scratch. Only big OSes like Windows / Linux / BSD have it. MacOS and Haiku just ported the BSD drivers. I don't say porting them in KolibiOS is not possible, but the required effort is going to be tremendous.
|
||||
Not supported.
|
||||
You have to know that the Wi-Fi specification is so complex that it is
|
||||
almost impossible to write the code for it from scratch.
|
||||
Only big OSes like Windows / Linux / BSD have it.
|
||||
MacOS and Haiku just ported the BSD drivers.
|
||||
I don't say porting them in KolibiOS is not possible,
|
||||
but the required effort is going to be tremendous.
|
||||
|
||||
<h3><kosicon n=25>LAN/Ethernet</h3>
|
||||
Supported devices:
|
||||
3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980)
|
||||
ar81xx Atheros 8161/8162/8171/8172
|
||||
dec21x4x* Accton en1207B-TX, DEC 21140,.., VirtualPC
|
||||
forcedeth* nVidia nForce chipset integrated ethernet
|
||||
i8255x Intel eepro/100 (i8255x, i82562, i82801,..), QEMU
|
||||
i8254x Intel PRO/1000 (i8254x), Virtualbox, BOCHS, QEMU
|
||||
mtd80x Myson MTD803
|
||||
pcnet32 AMD PCnet (79c970, 79c978, 79c973,..), Virtualbox, QEMU
|
||||
r6040 RDC Semiconductors R6040
|
||||
rhine VIA Rhine II and III
|
||||
rtl8029 Realtek 8029/8019, ne2000 PCI, BOCHS, QEMU
|
||||
rtl8139 Realtek 8139 and clones, QEMU
|
||||
rtl8169 Realtek 8110/8111/8167/8168/8169
|
||||
sis900 SiS900, 7016
|
||||
* - in development.
|
||||
Blessed be our Flemish friend Jeffrey, who has written most of the Network staff by himself: stack, drivers, and a lot of apps (except WebView).
|
||||
List of supported devices:
|
||||
- 3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980)
|
||||
- ar81xx Atheros 8131/8132/8151/8152/8161/8162/8171/8172
|
||||
Killer E2200/E2400/E2500
|
||||
- dec21x4x* Accton en1207B-TX, DEC 21140,.., VirtualPC
|
||||
- forcedeth* nVidia nForce chipset integrated ethernet
|
||||
- i8255x Intel eepro/100 (i8255x, i82562, i82801,..), QEMU
|
||||
- i8254x Intel PRO/1000 (i8254x), Virtualbox, BOCHS, QEMU
|
||||
- mtd80x Myson MTD803
|
||||
- pcnet32 AMD PCnet (79c970, 79c978, 79c973,..), Virtualbox, QEMU
|
||||
- r6040 RDC Semiconductors R6040
|
||||
- rhine VIA Rhine II and III
|
||||
- rtl8029 Realtek 8029/8019, ne2000 PCI, BOCHS, QEMU
|
||||
- rtl8139 Realtek 8139 and clones, QEMU
|
||||
- rtl8169 Realtek 8110/8111/8167/8168/8169
|
||||
- sis900 SiS900, 7016
|
||||
|
||||
* - in development
|
||||
|
||||
Blessed be our Flemish friend Jeffrey, who has written most of the
|
||||
Network staff by him: stack, drivers, and a lot of apps (except WebView).
|
||||
|
||||
<h3><kosicon n=12>WebView</h3>
|
||||
It was never intended to be a browser but rather a Help Center that uses HTML markup. It fits well this purpose, doesn't it? According to current WebView's codebase (that was my first app ever) it will never become a normal web-browser. Please help us and write/port smth good. Good undertake will be to finish Netsurf port.
|
||||
It was never intended to be a browser but rather a Help Center
|
||||
that uses HTML markup. It fits this purpose well, doesn't it?
|
||||
According to current WebView's codebase (that was my first app ever)
|
||||
it will never become a normal web browser. Please help us and write/port
|
||||
something good. For example, it will be nice try to finish Netsurf port.
|
||||
|
||||
<h3><kosicon n=9>How did you achieve so much while being so small?</h3>
|
||||
- Kernel, almost all drivers and most applications are written in assembly.
|
||||
- Files in IMG are packed via the LZMA algorithm from 7-Zip. They are unpacked to RAM when accessed.
|
||||
- Images are manually optimized by hand: postering, dithering and other techniques were used.
|
||||
- Files names in IMG fit 8.3 naming convention (name.extension) which doesn't use additional FAT12 space
|
||||
- Kernel, almost all drivers and most applications are written in FASM assembly
|
||||
- Files in IMG are packed via the LZMA algorithm from 7-Zip
|
||||
They are unpacked to RAM when accessed
|
||||
- Most of the images are manually optimized:
|
||||
postering, dithering and other techniques were used
|
||||
- Files names in IMG fit 8.3 naming convention
|
||||
(name.extension) which doesn't use additional FAT12 space
|
||||
- Image files are combined into a single file
|
||||
- Compact binary header of applications, no sections
|
||||
- Resources are reused, and file duplication is avoided, for example:
|
||||
~ Shared libraries
|
||||
~ KFM2 is an Eolite just with another appearance
|
||||
~ Memory app uses system icons as images
|
||||
~ one app for APP+, Games and System panel
|
||||
~ Many apps yse shared libraries
|
||||
~ KFM2 and Eolite are a single app, just with different appearance
|
||||
~ APP+, Games Center and System Panel are a single app also
|
||||
~ Memory Blocks game uses system icons as images
|
||||
|
||||
|
||||
See more <a href=http://wiki.kolibrios.org/wiki/Hardware_Support>http://wiki.kolibrios.org/wiki/Hardware_Support</a>
|
||||
</dd>
|
||||
|
||||
<h3><kosicon n=13>Last words</h3>
|
||||
<font bg=#F9F0A3>We want to express our gratitude to every KolibriOS contributor. Also we would like to give special thanks to Ville M. Turjanmaa, the author of MenuetOS, the predecessor of our system. Finally, we want to thank you, the brave and curious users, we are doing it all for you!
|
||||
<font bg=#F9F0A3>We want to express our gratitude to every KolibriOS contributor.
|
||||
Also, we would like to give special thanks to Ville M. Turjanmaa, the author of
|
||||
MenuetOS, the predecessor of our system. Finally, we want to thank you,
|
||||
brave and curious users, as we are doing it all for you!
|
||||
Have fun!</font>
|
||||
|
||||
Sincerely yours,
|
||||
KolibriOS Team
|
||||
|
||||
<img src=/kolibrios/res/system/signs.png alt="You have to use Big Distro to see this image!">
|
||||
<!-- Somewhere deep in the Galaxy stars light up and go out, empires are born and turn to dust. In this impenetrable darkness and decadence, there are people who are still working on Kolibri. Many years will pass and perhaps you and I will no longer be here, and our great-grandchildren will ask "Who were those insane who made such an incredible OS?" -->
|
||||
<!-- Somewhere deep in the Galaxy stars light up and go out, empires are born and turn to dust.
|
||||
In this impenetrable darkness and decadence, there are people who are still working on KolibriOS.
|
||||
Many years will pass and perhaps you and I will no longer be here, and our great-grandchildren will ask
|
||||
"Who were those insane who made such an incredible OS?" -->
|
@@ -1163,7 +1163,10 @@ void draw_window(void)
|
||||
if (w_redraw)
|
||||
{
|
||||
kos_WindowRedrawStatus(1);
|
||||
kos_DefineAndDrawWindow(10, 40, 384 + 9, 388 + kos_GetSkinHeight(), 0x74, 0x444444, 0, 0, (Dword)header);
|
||||
|
||||
//kos_DefineAndDrawWindow(50, 50, 640, 506 - 22 + kos_GetSkinHeight(), 0x74, 0xEEEEEE, 0, 0, (Dword)windowTitle);
|
||||
|
||||
kos_DefineAndDrawWindow(10, 40, 384 + 9, 384 + 25, 0x74, 0x444444, 0, 0, (Dword)header);
|
||||
kos_WindowRedrawStatus(2);
|
||||
w_redraw = false;
|
||||
}
|
||||
|
@@ -436,14 +436,12 @@ struc POINT _t,_dx,_dy {
|
||||
; structure definition helper
|
||||
include 'struct.inc'
|
||||
|
||||
macro define@lstruct name,[field]
|
||||
{ local value
|
||||
common struc name [value] \{
|
||||
forward \.#field = value
|
||||
common \} }
|
||||
|
||||
;usecase
|
||||
define@lstruct RECT,X,Y,W,H
|
||||
struct RECT
|
||||
left dd ?
|
||||
top dd ?
|
||||
right dd ?
|
||||
bottom dd ?
|
||||
ends
|
||||
|
||||
struct BOX
|
||||
left dd ?
|
||||
|
@@ -40,6 +40,7 @@ START:
|
||||
|
||||
mcall SF_SYS_MISC, SSF_MEM_OPEN, win_icons_name, , 0
|
||||
add eax, 39*18*18*4
|
||||
mov [win_icons], eax
|
||||
|
||||
mov esi, eax
|
||||
mov edi, [pip_icon]
|
||||
@@ -129,11 +130,25 @@ draw_window:
|
||||
mcall , SSF_GET_SKIN_HEIGHT,
|
||||
|
||||
mov ecx, eax
|
||||
add ecx, WIN.Y * 65536 + WIN.H
|
||||
add ecx, WIN_Y * 65536 + WIN_H
|
||||
|
||||
mov edx, [win_cols.work]
|
||||
add edx, 0x34000000
|
||||
mcall SF_CREATE_WINDOW, <WIN.X, WIN.W>, , , , header
|
||||
mcall SF_CREATE_WINDOW, <WIN_X, WIN_W>, , , , header
|
||||
|
||||
; icon background color conversion
|
||||
mov esi, [pip_icon]
|
||||
mov ecx, 18*18
|
||||
|
||||
.icon_loop:
|
||||
mov eax, [esi]
|
||||
cmp eax, [win_cols.work]
|
||||
jne .skip_change
|
||||
mov ebx, [win_cols.work_light]
|
||||
mov [esi], ebx
|
||||
.skip_change:
|
||||
add esi, 4
|
||||
loop .icon_loop
|
||||
|
||||
call draw_base
|
||||
call draw_update
|
||||
@@ -147,30 +162,29 @@ draw_window:
|
||||
; draw basic elements of window
|
||||
draw_base:
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_PIP.X, BUT_PIP.H>, <BUT_PIP.Y, BUT_PIP.H>, [win_cols.work_graph]
|
||||
mcall , <BUT_COL.X, BUT_COL.W>, ,
|
||||
mcall , <BUT_HEX.X, BUT_HEX.W>, <BUT_HEX.Y, BUT_HEX.H>,
|
||||
mcall , , <BUT_RGB.Y, BUT_HEX.H>,
|
||||
mcall , <BUT_REC.X, BUT_REC.W>, <BUT_REC.Y, BUT_REC.H>,
|
||||
mcall SF_DRAW_RECT, <BUT_PIP_X, BUT_PIP_H>, <BUT_PIP_Y, BUT_PIP_H>, [win_cols.work_graph]
|
||||
mcall , <BUT_COL_X, BUT_COL_W>, ,
|
||||
mcall , <BUT_HEX_X, BUT_HEX_W>, <BUT_HEX_Y, BUT_HEX_H>,
|
||||
mcall , , <BUT_RGB_Y, BUT_HEX_H>,
|
||||
mcall , <BUT_REC_X, BUT_REC_W>, <BUT_REC_Y, BUT_REC_H>,
|
||||
|
||||
mcall , <BUT_PIP.X, BUT_PIP.H - 1>, <BUT_PIP.Y, BUT_PIP.H - 1>, [win_cols.work_dark]
|
||||
mcall , <BUT_COL.X, BUT_COL.W - 1>, ,
|
||||
mcall , <BUT_HEX.X, BUT_HEX.W - 1>, <BUT_HEX.Y, BUT_HEX.H - 1>,
|
||||
mcall , , <BUT_RGB.Y, BUT_HEX.H - 1>,
|
||||
mcall , <BUT_REC.X, BUT_REC.W - 1>, <BUT_REC.Y, BUT_REC.H - 1>,
|
||||
|
||||
mcall , <BUT_PIP.X + 1, BUT_PIP.H - 2>, <BUT_PIP.Y + 1, BUT_PIP.H - 2>, [col_white]
|
||||
mcall , <BUT_COL.X + 1, BUT_COL.W - 2>, ,
|
||||
mcall , <BUT_HEX.X + 1, BUT_HEX.W - 2>, <BUT_HEX.Y + 1, BUT_HEX.H - 2>,
|
||||
mcall , , <BUT_RGB.Y + 1, BUT_HEX.H - 2>,
|
||||
mcall , <BUT_REC.X + 1, BUT_REC.W - 2>, <BUT_REC.Y + 1, BUT_REC.H - 2>,
|
||||
mcall , <BUT_PIP_X, BUT_PIP_H - 1>, <BUT_PIP_Y, BUT_PIP_H - 1>, [win_cols.work_dark]
|
||||
mcall , <BUT_COL_X, BUT_COL_W - 1>, ,
|
||||
mcall , <BUT_HEX_X, BUT_HEX_W - 1>, <BUT_HEX_Y, BUT_HEX_H - 1>,
|
||||
mcall , , <BUT_RGB_Y, BUT_HEX_H - 1>,
|
||||
mcall , <BUT_REC_X, BUT_REC_W - 1>, <BUT_REC_Y, BUT_REC_H - 1>,
|
||||
|
||||
mcall , <BUT_PIP_X + 1, BUT_PIP_H - 2>, <BUT_PIP_Y + 1, BUT_PIP_H - 2>, [win_cols.work_light]
|
||||
mcall , <BUT_COL_X + 1, BUT_COL_W - 2>, , [win_cols.work_button_text]
|
||||
mcall , <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_HEX_Y + 1, BUT_HEX_H - 2>,
|
||||
mcall , , <BUT_RGB_Y + 1, BUT_HEX_H - 2>,
|
||||
mcall , <BUT_REC_X + 1, BUT_REC_W - 2>, <BUT_REC_Y + 1, BUT_REC_H - 2>,
|
||||
|
||||
; buttons 11, 12, 13 and 14
|
||||
mcall SF_DEFINE_BUTTON, <BUT_PIP.X + 1, BUT_PIP.W - 3>, <BUT_PIP.Y + 1, BUT_PIP.H - 3>, 0x4000000B
|
||||
mcall , <BUT_HEX.X + 1, BUT_HEX.W - 3>, <BUT_HEX.Y + 1, BUT_HEX.H - 3>, 0x4000000C
|
||||
mcall , , <BUT_RGB.Y + 1, BUT_RGB.H - 3>, 0x4000000D
|
||||
mcall , <BUT_REC.X + 2, BUT_REC.W - 4>, <BUT_REC.Y + 2, BUT_REC.H - 4>, 0x6000000E
|
||||
mcall SF_DEFINE_BUTTON, <BUT_PIP_X + 1, BUT_PIP_W - 3>, <BUT_PIP_Y + 1, BUT_PIP_H - 3>, 0x4000000B
|
||||
mcall , <BUT_HEX_X + 1, BUT_HEX_W - 3>, <BUT_HEX_Y + 1, BUT_HEX_H - 3>, 0x4000000C
|
||||
mcall , , <BUT_RGB_Y + 1, BUT_HEX_H - 3>, 0x4000000D
|
||||
mcall , <BUT_REC_X + 2, BUT_REC_W - 4>, <BUT_REC_Y + 2, BUT_REC_H - 4>, 0x6000000E
|
||||
|
||||
; 18*18 pixels icon
|
||||
mcall SF_PUT_IMAGE_EXT, [pip_icon], 0x00120012, 0x000B000F, 32
|
||||
@@ -182,12 +196,12 @@ draw_base:
|
||||
draw_update:
|
||||
|
||||
; current color rect
|
||||
mcall SF_DRAW_RECT, <BUT_COL.X + 2, BUT_COL.W - 4>, <BUT_COL.Y + 2, BUT_COL.H - 4>, [sel_color]
|
||||
mcall SF_DRAW_RECT, <BUT_COL_X + 2, BUT_COL_W - 4>, <BUT_COL_Y + 2, BUT_COL_H - 4>, [sel_color]
|
||||
|
||||
; color codes
|
||||
mcall , <BUT_RGB.X + 1, BUT_HEX.W - 2>, <BUT_RGB.Y + 1, BUT_HEX.H - 2>, [col_white]
|
||||
mcall , <BUT_RGB_X + 1, BUT_HEX_W - 2>, <BUT_RGB_Y + 1, BUT_HEX_H - 2>, [win_cols.work_button_text]
|
||||
|
||||
mcall SF_DRAW_NUMBER, 0x00060100, [sel_color], <BUT_HEX.X + 26, BUT_HEX.Y + 5>, 0x50000000, [col_white]
|
||||
mcall SF_DRAW_NUMBER, 0x00060100, [sel_color], <BUT_HEX_X + 26, BUT_HEX_Y + 5>, 0x50000000, [win_cols.work_button_text]
|
||||
|
||||
mov ebx, 0x00030000
|
||||
xor ecx, ecx
|
||||
@@ -218,10 +232,10 @@ draw_update:
|
||||
jle .du_loop_rect_row
|
||||
mov ebx, 118 * 65536 + 12
|
||||
add ecx, 12 * 65536
|
||||
|
||||
.du_loop_rect_row:
|
||||
add esi, 3
|
||||
dec edi
|
||||
cmp edi, 0
|
||||
jne .du_loop_rect
|
||||
|
||||
; selection of one pixel from 7*7 grid
|
||||
@@ -253,16 +267,17 @@ draw_update:
|
||||
; making pipet active again
|
||||
make_pick_active:
|
||||
|
||||
mov [pick_act], 0x01
|
||||
mov [pick_act], 0x01
|
||||
mov [cell_act_x], 0x03
|
||||
mov [cell_act_y], 0x03
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_REC.X + 1, BUT_REC.W - 2>, <BUT_REC.Y + 1, BUT_REC.H - 2>, [col_white]
|
||||
mcall SF_DRAW_TEXT, <BUT_REC.X + 28, BUT_REC.Y + 37>, 0x10000000, mes_pick, 4
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_REC_X + 1, BUT_REC_W - 2>, <BUT_REC_Y + 1, BUT_REC_H - 2>, [win_cols.work_button_text]
|
||||
mcall SF_DRAW_TEXT, <BUT_REC_X + 28, BUT_REC_Y + 37>, 0x10000000, mes_pick, 4
|
||||
|
||||
mcall SF_SLEEP, 50
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_PIP.X + 1, BUT_PIP.W - 2>, <BUT_PIP.Y + 1, BUT_PIP.H - 2>, [win_cols.work_light]
|
||||
mcall SF_DRAW_RECT, <BUT_PIP_X + 1, BUT_PIP_W - 2>, <BUT_PIP_Y + 1, BUT_PIP_H - 2>, [win_cols.work_light]
|
||||
mcall SF_PUT_IMAGE_EXT, [pip_icon], 0x00120012, 0x000B000F, 32
|
||||
|
||||
call draw_update
|
||||
@@ -330,9 +345,10 @@ clamp_pixels:
|
||||
mov ax, dx
|
||||
|
||||
.combine_coords:
|
||||
xor edx, edx
|
||||
mov dx, cx
|
||||
shl edx, 16
|
||||
or dx, ax
|
||||
rol edx, 16
|
||||
mov dx, ax
|
||||
|
||||
ret
|
||||
|
||||
@@ -340,7 +356,7 @@ clamp_pixels:
|
||||
; copy color HEX code
|
||||
copy_col_hex:
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX.X + 2, BUT_HEX.W - 4>, <BUT_HEX.Y + 2, BUT_HEX.H - 4>, [col_white]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 2, BUT_HEX_W - 4>, <BUT_HEX_Y + 2, BUT_HEX_H - 4>, [win_cols.work_button_text]
|
||||
|
||||
mov ebx, [sel_color]
|
||||
mov ecx, 6
|
||||
@@ -360,10 +376,10 @@ copy_col_hex:
|
||||
loop ch_loop
|
||||
|
||||
mcall SF_CLIPBOARD, 2, color_hex.end - color_hex, color_hex
|
||||
mcall SF_DRAW_TEXT, <BUT_HEX.X + 1, BUT_HEX.Y + 5>, 0x10000000, mes_copy, 12
|
||||
mcall SF_DRAW_TEXT, <BUT_HEX_X + 1, BUT_HEX_Y + 5>, 0x10000000, mes_copy, 12
|
||||
mcall SF_SLEEP, 50
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX.X + 1, BUT_HEX.W - 2>, <BUT_HEX.Y + 1, BUT_HEX.H - 2>, [col_white]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_HEX_Y + 1, BUT_HEX_H - 2>, [win_cols.work_button_text]
|
||||
|
||||
call draw_update
|
||||
jmp still
|
||||
@@ -372,7 +388,7 @@ copy_col_hex:
|
||||
; copy color RGB code
|
||||
copy_col_rgb:
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX.X + 2, BUT_HEX.W - 4>, <BUT_RGB.Y + 2, BUT_HEX.H - 4>, [col_white]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 2, BUT_HEX_W - 4>, <BUT_RGB_Y + 2, BUT_HEX_H - 4>, [win_cols.work_button_text]
|
||||
|
||||
mov bl, 10
|
||||
mov edx, [sel_color]
|
||||
@@ -396,14 +412,15 @@ copy_col_rgb:
|
||||
shr edx, 8
|
||||
sub esi, 4
|
||||
dec edi
|
||||
cmp edi, 0
|
||||
jg cr_loop
|
||||
|
||||
|
||||
mcall SF_CLIPBOARD, 2, color_rgb.end - color_rgb, color_rgb
|
||||
mcall SF_DRAW_TEXT, <BUT_HEX.X + 1, BUT_RGB.Y + 5>, 0x10000000, mes_copy, 12
|
||||
mcall SF_DRAW_TEXT, <BUT_HEX_X + 1, BUT_RGB_Y + 5>, 0x10000000, mes_copy, 12
|
||||
mcall SF_SLEEP, 50
|
||||
|
||||
mcall SF_DRAW_RECT, <BUT_HEX.X + 1, BUT_HEX.W - 2>, <BUT_RGB.Y + 1, BUT_HEX.H - 2>, [col_white]
|
||||
mcall SF_DRAW_RECT, <BUT_HEX_X + 1, BUT_HEX_W - 2>, <BUT_RGB_Y + 1, BUT_HEX_H - 2>, [win_cols.work_button_text]
|
||||
|
||||
call draw_update
|
||||
jmp still
|
||||
@@ -440,27 +457,48 @@ pick_col_cell:
|
||||
mov [sel_color], ebx
|
||||
|
||||
call draw_update
|
||||
jmp still
|
||||
jmp still
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
WIN RECT 100,100,221,112
|
||||
WIN_X = 100
|
||||
WIN_W = 221
|
||||
WIN_Y = 100
|
||||
WIN_H = 112
|
||||
|
||||
BUT_PIP RECT 8, 12, 24, 24
|
||||
BUT_COL RECT 40, 12, 68, 24
|
||||
BUT_HEX RECT 8, 44,100, 24
|
||||
BUT_RGB RECT 8, 76,100, 24
|
||||
BUT_REC RECT 116, 12, 88, 88
|
||||
BUT_PIP_X = 8
|
||||
BUT_PIP_W = 24
|
||||
BUT_PIP_Y = 12
|
||||
BUT_PIP_H = 24
|
||||
|
||||
BUT_COL_X = 40
|
||||
BUT_COL_W = 68
|
||||
BUT_COL_Y = 12
|
||||
BUT_COL_H = 24
|
||||
|
||||
|
||||
BUT_HEX_X = 8
|
||||
BUT_HEX_W = 100
|
||||
BUT_HEX_Y = 44
|
||||
BUT_HEX_H = 24
|
||||
|
||||
BUT_RGB_X = 8
|
||||
BUT_RGB_Y = 76
|
||||
|
||||
BUT_REC_X = 116
|
||||
BUT_REC_W = 88
|
||||
BUT_REC_Y = 12
|
||||
BUT_REC_H = 88
|
||||
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
win_cols system_colors
|
||||
win_icons_name db 'ICONS18', 0
|
||||
win_icons_name db 'ICONS18W', 0
|
||||
win_icons dd 0x00000000
|
||||
pip_icon dd 0x00000000
|
||||
col_white dd 0x00FFFFFF
|
||||
|
||||
if lang eq ru_RU
|
||||
header db '<27><><EFBFBD><EFBFBD>⪠', 0
|
||||
header db '<27><><EFBFBD><EFBFBD>⪠', 0
|
||||
else if lang eq es_ES
|
||||
header db 'Pipeta', 0
|
||||
else
|
||||
|
Reference in New Issue
Block a user