diff --git a/programs/develop/libraries/libs-dev/libgfx/libgfx.asm b/programs/develop/libraries/libs-dev/libgfx/libgfx.asm
index 1f72c7371d..5ce938fcff 100644
--- a/programs/develop/libraries/libs-dev/libgfx/libgfx.asm
+++ b/programs/develop/libraries/libs-dev/libgfx/libgfx.asm
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
diff --git a/programs/develop/libraries/libs-dev/libgfx/libgfx_p.inc b/programs/develop/libraries/libs-dev/libgfx/libgfx_p.inc
index 06d28fae03..e1065bbef4 100644
--- a/programs/develop/libraries/libs-dev/libgfx/libgfx_p.inc
+++ b/programs/develop/libraries/libs-dev/libgfx/libgfx_p.inc
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
diff --git a/programs/develop/libraries/libs-dev/libimg/libimg.asm b/programs/develop/libraries/libs-dev/libimg/libimg.asm
index 27562315e3..b5cef24881 100644
--- a/programs/develop/libraries/libs-dev/libimg/libimg.asm
+++ b/programs/develop/libraries/libs-dev/libimg/libimg.asm
@@ -137,6 +137,27 @@ proc img.from_rgb _rgb_data ;///////////////////////////////////////////////////
ret
endp
+;;================================================================================================;;
+proc img.to_rgb2 _img, _out ;/////////////////////////////////////////////////////////////////////;;
+;;------------------------------------------------------------------------------------------------;;
+;? --- TBD --- ;;
+;;------------------------------------------------------------------------------------------------;;
+;> --- TBD --- ;;
+;;------------------------------------------------------------------------------------------------;;
+;< --- TBD --- ;;
+;;================================================================================================;;
+ push esi edi
+ mov esi, [_img]
+ stdcall img._.validate, esi
+ or eax, eax
+ jnz .ret
+ mov edi, [_out]
+ call img._.do_rgb
+.ret:
+ pop edi esi
+ ret
+endp
+
;;================================================================================================;;
proc img.to_rgb _img ;////////////////////////////////////////////////////////////////////////////;;
;;------------------------------------------------------------------------------------------------;;
@@ -147,7 +168,8 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
;< eax = 0 / pointer to rgb_data (array of [rgb] triplets) ;;
;;================================================================================================;;
push esi edi
- stdcall img._.validate, [_img]
+ mov esi, [_img]
+ stdcall img._.validate, esi
or eax, eax
jnz .error
@@ -165,13 +187,33 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
stosd
mov eax, [esi + Image.Height]
stosd
+ call img._.do_rgb
+ pop eax
+ pop edi esi
+ ret
+
+ .error:
+ xor eax, eax
+ pop edi esi
+ ret
+endp
+
+;;================================================================================================;;
+proc img._.do_rgb ;///////////////////////////////////////////////////////////////////////////////;;
+;;------------------------------------------------------------------------------------------------;;
+;? --- TBD --- ;;
+;;------------------------------------------------------------------------------------------------;;
+;> --- TBD --- ;;
+;;------------------------------------------------------------------------------------------------;;
+;< --- TBD --- ;;
+;;================================================================================================;;
+ mov ecx, [esi + Image.Width]
+ imul ecx, [esi + Image.Height]
mov eax, [esi + Image.Type]
dec eax
jz .bpp8
dec eax
jz .bpp24
- dec eax
- jnz .error_pop
; 32 BPP -> 24 BPP
mov esi, [esi + Image.Data]
@@ -181,8 +223,7 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
dec edi
jmp @b
- @@: pop eax
- pop edi esi
+ @@:
ret
.bpp24:
@@ -191,8 +232,6 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
mov esi, [esi + Image.Data]
shr ecx, 2
rep movsd
- pop eax
- pop edi esi
ret
.bpp8:
@@ -209,16 +248,6 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
sub ecx, 1
jnz @b
pop ebx
- pop eax
- pop edi esi
- ret
-
- .error_pop:
- pop eax
-
- .error:
- xor eax, eax
- pop edi esi
ret
endp
@@ -1124,13 +1153,14 @@ align 4
export \
lib_init , 'lib_init' , \
- 0x00010001 , 'version' , \
+ 0x00010002 , 'version' , \
img.is_img , 'img.is_img' , \
img.info , 'img.info' , \
img.from_file , 'img.from_file' , \
img.to_file , 'img.to_file' , \
img.from_rgb , 'img.from_rgb' , \
img.to_rgb , 'img.to_rgb' , \
+ img.to_rgb2 , 'img.to_rgb2' , \
img.decode , 'img.decode' , \
img.encode , 'img.encode' , \
img.create , 'img.create' , \
diff --git a/programs/develop/libraries/libs-dev/libini/libini.asm b/programs/develop/libraries/libs-dev/libini/libini.asm
index fb1c3feefc..d64fd154a3 100644
--- a/programs/develop/libraries/libs-dev/libini/libini.asm
+++ b/programs/develop/libraries/libs-dev/libini/libini.asm
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
;; ;;
diff --git a/programs/develop/libraries/libs-dev/libini/libini_p.asm b/programs/develop/libraries/libs-dev/libini/libini_p.asm
index 1119fd63f1..8c0dd5f962 100644
--- a/programs/develop/libraries/libs-dev/libini/libini_p.asm
+++ b/programs/develop/libraries/libs-dev/libini/libini_p.asm
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
diff --git a/programs/develop/libraries/libs-dev/libini/libini_p.inc b/programs/develop/libraries/libs-dev/libini/libini_p.inc
index d8831635f5..7c48d1f9ae 100644
--- a/programs/develop/libraries/libs-dev/libini/libini_p.inc
+++ b/programs/develop/libraries/libs-dev/libini/libini_p.inc
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
diff --git a/programs/develop/libraries/libs-dev/libio/libio.asm b/programs/develop/libraries/libs-dev/libio/libio.asm
index ba69a7278f..8356d98f54 100644
--- a/programs/develop/libraries/libs-dev/libio/libio.asm
+++ b/programs/develop/libraries/libs-dev/libio/libio.asm
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
;; ;;
diff --git a/programs/develop/libraries/libs-dev/libio/libio.inc b/programs/develop/libraries/libs-dev/libio/libio.inc
index d94ca37efa..8c78927ced 100644
--- a/programs/develop/libraries/libs-dev/libio/libio.inc
+++ b/programs/develop/libraries/libs-dev/libio/libio.inc
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
diff --git a/programs/develop/libraries/libs-dev/libio/libio_p.asm b/programs/develop/libraries/libs-dev/libio/libio_p.asm
index c0d35c4db4..4d2b7d6cb0 100644
--- a/programs/develop/libraries/libs-dev/libio/libio_p.asm
+++ b/programs/develop/libraries/libs-dev/libio/libio_p.asm
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;
diff --git a/programs/develop/libraries/libs-dev/libio/libio_p.inc b/programs/develop/libraries/libs-dev/libio/libio_p.inc
index 344b4557f3..5fa3bc595e 100644
--- a/programs/develop/libraries/libs-dev/libio/libio_p.inc
+++ b/programs/develop/libraries/libs-dev/libio/libio_p.inc
@@ -5,15 +5,15 @@
;; This file is part of Common development libraries (Libs-Dev). ;;
;; ;;
;; Libs-Dev is free software: you can redistribute it and/or modify it under the terms of the GNU ;;
-;; General Public License as published by the Free Software Foundation, either version 3 of the ;;
-;; License, or (at your option) any later version. ;;
+;; Lesser General Public License as published by the Free Software Foundation, either version 2.1 ;;
+;; of the License, or (at your option) any later version. ;;
;; ;;
;; Libs-Dev is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;;
;; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;
-;; General Public License for more details. ;;
+;; Lesser General Public License for more details. ;;
;; ;;
-;; You should have received a copy of the GNU General Public License along with Libs-Dev. If not, ;;
-;; see . ;;
+;; You should have received a copy of the GNU Lesser General Public License along with Libs-Dev. ;;
+;; If not, see . ;;
;; ;;
;;================================================================================================;;