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 . ;; ;; ;; ;;================================================================================================;;