2
0
Johann 6 жил өмнө
parent
commit
4568f8034c

+ 16 - 0
lazpaint/release/i18n/lazpaint.ar.po

@@ -3315,6 +3315,10 @@ msgstr "px"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "المجلدات الأخيرة:"
 msgstr "المجلدات الأخيرة:"
@@ -3444,6 +3448,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "نقل التحديد إلى طبقة أخرى؟"
 msgstr "نقل التحديد إلى طبقة أخرى؟"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3464,6 +3472,14 @@ msgstr "لايمكن حفظ الملف :"
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "الأمر غير معروف :"
 msgstr "الأمر غير معروف :"
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "نعم"
 msgstr "نعم"

+ 16 - 0
lazpaint/release/i18n/lazpaint.cs.po

@@ -3302,6 +3302,10 @@ msgstr "px"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Nedávné adresáře:"
 msgstr "Nedávné adresáře:"
@@ -3431,6 +3435,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Přenést výběr do jiné vrstvy?"
 msgstr "Přenést výběr do jiné vrstvy?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3451,6 +3459,14 @@ msgstr "Nelze uložit soubor :"
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Neznámý příkaz :"
 msgstr "Neznámý příkaz :"
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Ano"
 msgstr "Ano"

+ 16 - 0
lazpaint/release/i18n/lazpaint.de.po

@@ -3320,6 +3320,10 @@ msgstr "px"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr "RAM-Disk"
 msgstr "RAM-Disk"
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Letzte Verzeichnisse"
 msgstr "Letzte Verzeichnisse"
@@ -3449,6 +3453,10 @@ msgstr "Bilder Gesamt: %1"
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Auswahl auf andere Ebene verschieben?"
 msgstr "Auswahl auf andere Ebene verschieben?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3469,6 +3477,14 @@ msgstr "Kann Datei nicht sichern: "
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Unbekannter Befehl: "
 msgstr "Unbekannter Befehl: "
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Ja"
 msgstr "Ja"

+ 16 - 0
lazpaint/release/i18n/lazpaint.es.po

@@ -3312,6 +3312,10 @@ msgstr "px"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr "Disco RAM"
 msgstr "Disco RAM"
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr "Capa de trama"
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Carpetas recientes:"
 msgstr "Carpetas recientes:"
@@ -3443,6 +3447,10 @@ msgstr "Total: %1"
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "¿Transferir selección a otra capa?"
 msgstr "¿Transferir selección a otra capa?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr "Capa de trama transformada"
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr "¿Quieres transformar el contenido de la selección?"
 msgstr "¿Quieres transformar el contenido de la selección?"
@@ -3463,6 +3471,14 @@ msgstr "Imposible guardar archivo: "
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Comando desconocido: "
 msgstr "Comando desconocido: "
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr "Original desconocido"
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr "Capa vectorial"
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Sí"
 msgstr "Sí"

+ 16 - 0
lazpaint/release/i18n/lazpaint.fi.po

@@ -3285,6 +3285,10 @@ msgstr ""
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Viimeisimmät kansiot:"
 msgstr "Viimeisimmät kansiot:"
@@ -3414,6 +3418,10 @@ msgstr "Kuvia kaikkiaan: %1"
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3434,6 +3442,14 @@ msgstr ""
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Kyllä"
 msgstr "Kyllä"

+ 16 - 0
lazpaint/release/i18n/lazpaint.fr.po

@@ -3319,6 +3319,10 @@ msgstr "px"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr "RAM disque"
 msgstr "RAM disque"
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr "Calque en pixels"
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Répertoires récents :"
 msgstr "Répertoires récents :"
@@ -3450,6 +3454,10 @@ msgstr "Nb. total d'images : %1"
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Voulez-vous transférer la sélection vers un autre calque ?"
 msgstr "Voulez-vous transférer la sélection vers un autre calque ?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr "Calque en pixels transformé"
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr "Voulez-vous transformer le contenu de la sélection ?"
 msgstr "Voulez-vous transformer le contenu de la sélection ?"
@@ -3470,6 +3478,14 @@ msgstr "Impossible d'enregistrer le fichier : "
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Commande inconnue : "
 msgstr "Commande inconnue : "
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr "Original inconnu"
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr "Calque vectoriel"
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Oui"
 msgstr "Oui"

+ 16 - 0
lazpaint/release/i18n/lazpaint.ja.po

@@ -3307,6 +3307,10 @@ msgstr ""
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr ""
 msgstr ""
@@ -3436,6 +3440,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3456,6 +3464,14 @@ msgstr "ファイルの保存に失敗しました:"
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Unknown command:"
 msgstr "Unknown command:"
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr ""
 msgstr ""

+ 16 - 0
lazpaint/release/i18n/lazpaint.lv.po

@@ -3303,6 +3303,10 @@ msgstr "pikseļi"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Nesen lietotās mapes:"
 msgstr "Nesen lietotās mapes:"
@@ -3432,6 +3436,10 @@ msgstr "Attēlu kopskaits: %1"
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Pārvietot iezīmējumu uz citu slāni?"
 msgstr "Pārvietot iezīmējumu uz citu slāni?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3452,6 +3460,14 @@ msgstr "Nevar saglabāt failu:"
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Nepazīstama komanda:"
 msgstr "Nepazīstama komanda:"
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Jā"
 msgstr "Jā"

+ 16 - 0
lazpaint/release/i18n/lazpaint.nl.po

@@ -3329,6 +3329,10 @@ msgstr "px"
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Recente directories:"
 msgstr "Recente directories:"
@@ -3458,6 +3462,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Verplaats selectie naar andere laag?"
 msgstr "Verplaats selectie naar andere laag?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3478,6 +3486,14 @@ msgstr "Kan bestand niet opslaan : "
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Onbekend commando : "
 msgstr "Onbekend commando : "
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr "Ja"
 msgstr "Ja"

+ 16 - 0
lazpaint/release/i18n/lazpaint.po

@@ -3284,6 +3284,10 @@ msgstr ""
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr ""
 msgstr ""
@@ -3413,6 +3417,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3433,6 +3441,14 @@ msgstr ""
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr ""
 msgstr ""

+ 16 - 0
lazpaint/release/i18n/lazpaint.pt_BR.po

@@ -3311,6 +3311,10 @@ msgstr ""
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr "Diretórios recentes:"
 msgstr "Diretórios recentes:"
@@ -3440,6 +3444,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Transferir seleção para outra camada?"
 msgstr "Transferir seleção para outra camada?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3460,6 +3468,14 @@ msgstr "Não foi possível salvar o arquivo : "
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Comando desconhecido : "
 msgstr "Comando desconhecido : "
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr ""
 msgstr ""

+ 16 - 0
lazpaint/release/i18n/lazpaint.ru.po

@@ -3305,6 +3305,10 @@ msgstr ""
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr ""
 msgstr ""
@@ -3434,6 +3438,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr "Перенести выделение на другой слой?"
 msgstr "Перенести выделение на другой слой?"
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3454,6 +3462,14 @@ msgstr "Не удается сохранить файл:"
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Неизвестная команда:"
 msgstr "Неизвестная команда:"
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr ""
 msgstr ""

+ 16 - 0
lazpaint/release/i18n/lazpaint.sv.po

@@ -3292,6 +3292,10 @@ msgstr ""
 msgid "RAM disk"
 msgid "RAM disk"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rsrasterlayer
+msgid "Raster layer"
+msgstr ""
+
 #: uresourcestrings.rsrecentdirectories
 #: uresourcestrings.rsrecentdirectories
 msgid "Recent directories:"
 msgid "Recent directories:"
 msgstr ""
 msgstr ""
@@ -3421,6 +3425,10 @@ msgstr ""
 msgid "Transfer selection to other layer?"
 msgid "Transfer selection to other layer?"
 msgstr ""
 msgstr ""
 
 
+#: uresourcestrings.rstransformedrasterlayer
+msgid "Transformed raster layer"
+msgstr ""
+
 #: uresourcestrings.rstransformselectioncontent
 #: uresourcestrings.rstransformselectioncontent
 msgid "Do you want to transform content of the selection?"
 msgid "Do you want to transform content of the selection?"
 msgstr ""
 msgstr ""
@@ -3441,6 +3449,14 @@ msgstr "Kunde inte spara fil :"
 msgid "Unknown command : "
 msgid "Unknown command : "
 msgstr "Okänt kommando :"
 msgstr "Okänt kommando :"
 
 
+#: uresourcestrings.rsunknownoriginal
+msgid "Unknown original"
+msgstr ""
+
+#: uresourcestrings.rsvectoriallayer
+msgid "Vectorial layer"
+msgstr ""
+
 #: uresourcestrings.rsyes
 #: uresourcestrings.rsyes
 msgid "Yes"
 msgid "Yes"
 msgstr ""
 msgstr ""

+ 41 - 23
lazpaint/ulayerstack.pas

@@ -14,6 +14,12 @@ type
     PreviewPts: array of TPointF;
     PreviewPts: array of TPointF;
     NameRect,OpacityBar: TRect;
     NameRect,OpacityBar: TRect;
   end;
   end;
+  TLayerItemInfo = record
+    RightPart: TDrawLayerItemResult;
+    VisibleCheckbox: TRect;
+    KindIcon: TRect;
+    KindIconHint: string;
+  end;
 
 
   { TFLayerStack }
   { TFLayerStack }
 
 
@@ -69,8 +75,7 @@ type
     VolatileHorzScrollBar, VolatileVertScrollBar: TVolatileScrollBar;
     VolatileHorzScrollBar, VolatileVertScrollBar: TVolatileScrollBar;
     ScrollButtonRect: TRect;
     ScrollButtonRect: TRect;
     InterruptorWidth,InterruptorHeight: integer;
     InterruptorWidth,InterruptorHeight: integer;
-    interruptors: array of TRect;
-    LayerInfo: array of TDrawLayerItemResult;
+    LayerInfo: array of TLayerItemInfo;
     movingItemStart: boolean;
     movingItemStart: boolean;
     movingItem: TBGRABitmap;
     movingItem: TBGRABitmap;
     movingItemSourceIndex: integer;
     movingItemSourceIndex: integer;
@@ -302,7 +307,7 @@ procedure TFLayerStack.HandleChangeLayerOpacity(X, Y: integer);
 var newOpacity: integer;
 var newOpacity: integer;
 begin
 begin
   if (changingLayerOpacity <> -1) and (changingLayerOpacity <= high(LayerInfo)) then
   if (changingLayerOpacity <> -1) and (changingLayerOpacity <= high(LayerInfo)) then
-  with LayerInfo[changingLayerOpacity] do
+  with LayerInfo[changingLayerOpacity].RightPart do
   begin
   begin
     if changingLayerOpacity >= LazPaintInstance.Image.NbLayers then exit;
     if changingLayerOpacity >= LazPaintInstance.Image.NbLayers then exit;
     newOpacity := round((X-(OpacityBar.left+1))/(OpacityBar.right-OpacityBar.left-2)*255);
     newOpacity := round((X-(OpacityBar.left+1))/(OpacityBar.right-OpacityBar.left-2)*255);
@@ -396,7 +401,6 @@ end;
 procedure TFLayerStack.ComputeLayout(ABitmap: TBGRABitmap);
 procedure TFLayerStack.ComputeLayout(ABitmap: TBGRABitmap);
 var i,temp,h: integer;
 var i,temp,h: integer;
 begin
 begin
-  interruptors:= nil;
   LayerInfo := nil;
   LayerInfo := nil;
   LayerRectWidth := round(100*zoomFactor);
   LayerRectWidth := round(100*zoomFactor);
   LayerRectHeight := round(50*zoomFactor);
   LayerRectHeight := round(50*zoomFactor);
@@ -545,10 +549,10 @@ var i: integer;
   layerPos: TPoint;
   layerPos: TPoint;
   lSelected: boolean;
   lSelected: boolean;
   y: integer;
   y: integer;
-  clipping, rKind: TRect;
+  clipping: TRect;
   lColor, lColorTrans: TBGRAPixel;
   lColor, lColorTrans: TBGRAPixel;
 
 
-  procedure DrawKindUnknown;
+  procedure DrawKindUnknown(rKind: TRect; out HintText: string);
   var
   var
     eb: TEasyBezierCurve;
     eb: TEasyBezierCurve;
     w: single;
     w: single;
@@ -562,9 +566,10 @@ var i: integer;
     w := max(1,rKind.Height/10);
     w := max(1,rKind.Height/10);
     Bitmap.DrawPolyLineAntialias(eb.ToPoints, lColor, w, true);
     Bitmap.DrawPolyLineAntialias(eb.ToPoints, lColor, w, true);
     Bitmap.FillEllipseAntialias((rKind.Left+rKind.Right)/2, rKind.Bottom - 1 - (w-1)/2, w*0.6,w*0.6, lColor);
     Bitmap.FillEllipseAntialias((rKind.Left+rKind.Right)/2, rKind.Bottom - 1 - (w-1)/2, w*0.6,w*0.6, lColor);
+    HintText := rsUnknownOriginal;
   end;
   end;
 
 
-  procedure DrawKind(AClass: TBGRALayerOriginalAny);
+  procedure DrawKind(AClass: TBGRALayerOriginalAny; rKind: TRect; out HintText: string);
   var
   var
     eb: TEasyBezierCurve;
     eb: TEasyBezierCurve;
     w: single;
     w: single;
@@ -577,6 +582,7 @@ var i: integer;
       Bitmap.Rectangle(rKind, lColor,lColorTrans, dmDrawWithTransparency);
       Bitmap.Rectangle(rKind, lColor,lColorTrans, dmDrawWithTransparency);
       Bitmap.HorizLine(rKind.Left+1,rKind.Top+(rKind.Height-1) div 2,rKind.Right-2, lColor, dmDrawWithTransparency);
       Bitmap.HorizLine(rKind.Left+1,rKind.Top+(rKind.Height-1) div 2,rKind.Right-2, lColor, dmDrawWithTransparency);
       Bitmap.VertLine(rKind.Left+(rKind.Width-1) div 2,rKind.Top+1,rKind.Bottom-2, lColor, dmDrawWithTransparency);
       Bitmap.VertLine(rKind.Left+(rKind.Width-1) div 2,rKind.Top+1,rKind.Bottom-2, lColor, dmDrawWithTransparency);
+      HintText := rsRasterLayer;
     end else
     end else
     if AClass = TBGRALayerImageOriginal then
     if AClass = TBGRALayerImageOriginal then
     begin
     begin
@@ -592,6 +598,7 @@ var i: integer;
       Bitmap.DrawPolyLineAntialias(eb.ToPoints, lColor, w);
       Bitmap.DrawPolyLineAntialias(eb.ToPoints, lColor, w);
       Bitmap.Arrow.StartAsNone;
       Bitmap.Arrow.StartAsNone;
       Bitmap.Arrow.EndAsNone;
       Bitmap.Arrow.EndAsNone;
+      HintText := rsTransformedRasterLayer;
     end else
     end else
     if AClass = TBGRALayerSVGOriginal then
     if AClass = TBGRALayerSVGOriginal then
     begin
     begin
@@ -607,6 +614,7 @@ var i: integer;
       eb.CurveMode[eb.PointCount-2] := cmAngle;
       eb.CurveMode[eb.PointCount-2] := cmAngle;
       for i := 0 to eb.PointCount-1 do eb.Point[i] := m*eb.Point[i];
       for i := 0 to eb.PointCount-1 do eb.Point[i] := m*eb.Point[i];
       Bitmap.DrawPolyLineAntialias(eb.ToPoints, lColor, w, true);
       Bitmap.DrawPolyLineAntialias(eb.ToPoints, lColor, w, true);
+      HintText := rsVectorialLayer;
     end else
     end else
     begin
     begin
       Bitmap.EllipseAntialias(rKind.Left+rKind.Width / 3, rKind.Top+rKind.Height / 3,rKind.Width / 3,rKind.Height / 3,
       Bitmap.EllipseAntialias(rKind.Left+rKind.Width / 3, rKind.Top+rKind.Height / 3,rKind.Width / 3,rKind.Height / 3,
@@ -614,6 +622,7 @@ var i: integer;
       Bitmap.DrawPolygonAntialias([PointF(rKind.Left+rKind.Width/4,rKind.Bottom),
       Bitmap.DrawPolygonAntialias([PointF(rKind.Left+rKind.Width/4,rKind.Bottom),
                                    PointF(rKind.Left+rKind.Width/2,rKind.Top+rKind.Height/4),
                                    PointF(rKind.Left+rKind.Width/2,rKind.Top+rKind.Height/4),
                                    PointF(rKind.Right,rKind.Bottom)],lColor,1, lColorTrans);
                                    PointF(rKind.Right,rKind.Bottom)],lColor,1, lColorTrans);
+      HintText := rsVectorialLayer;
     end;
     end;
   end;
   end;
 
 
@@ -625,7 +634,6 @@ begin
   end;
   end;
   layerPos.x := -Offset.X;
   layerPos.x := -Offset.X;
   layerPos.y := -Offset.Y;
   layerPos.y := -Offset.Y;
-  SetLength(interruptors,LazPaintInstance.Image.NbLayers);
   SetLength(LayerInfo,LazPaintInstance.Image.NbLayers);
   SetLength(LayerInfo,LazPaintInstance.Image.NbLayers);
   clipping := EmptyRect;
   clipping := EmptyRect;
   for i := LazPaintInstance.Image.NbLayers-1 downto 0 do
   for i := LazPaintInstance.Image.NbLayers-1 downto 0 do
@@ -646,7 +654,7 @@ begin
         end;
         end;
         if UpdateItem <> -1 then clipping := rect(layerPos.X,layerPos.Y,layerPos.X+StackWidth,layerPos.Y+LayerRectHeight);
         if UpdateItem <> -1 then clipping := rect(layerPos.X,layerPos.Y,layerPos.X+StackWidth,layerPos.Y+LayerRectHeight);
 
 
-        interruptors[i] := RectWithSize(layerPos.X+InterruptorWidth div 5,layerpos.Y+(LayerRectHeight-5*InterruptorHeight div 2) div 2,
+        LayerInfo[i].VisibleCheckbox := RectWithSize(layerPos.X+InterruptorWidth div 5,layerpos.Y+(LayerRectHeight-5*InterruptorHeight div 2) div 2,
                                         InterruptorWidth, InterruptorHeight);
                                         InterruptorWidth, InterruptorHeight);
 
 
         if (layerpos.Y+LayerRectHeight > 0) and (layerpos.Y < Bitmap.Height) then
         if (layerpos.Y+LayerRectHeight > 0) and (layerpos.Y < Bitmap.Height) then
@@ -659,9 +667,9 @@ begin
           lColorTrans := lColor;
           lColorTrans := lColor;
           lColorTrans.alpha := lColorTrans.alpha div 3;
           lColorTrans.alpha := lColorTrans.alpha div 3;
 
 
-          Bitmap.Rectangle(interruptors[i],lColor,dmDrawWithTransparency);
+          Bitmap.Rectangle(LayerInfo[i].VisibleCheckbox,lColor,dmDrawWithTransparency);
           if LayerVisible[i] then
           if LayerVisible[i] then
-          with interruptors[i] do
+          with LayerInfo[i].VisibleCheckbox do
           begin
           begin
             Bitmap.DrawPolyLineAntialias(Bitmap.ComputeBezierSpline([
             Bitmap.DrawPolyLineAntialias(Bitmap.ComputeBezierSpline([
 
 
@@ -672,17 +680,17 @@ begin
                   PointF(right-2,top-2))]),lColor,1.5);
                   PointF(right-2,top-2))]),lColor,1.5);
           end;
           end;
 
 
-          rKind := interruptors[i];
-          rKind.Offset(0, InterruptorHeight*3 div 2);
+          LayerInfo[i].KindIcon := LayerInfo[i].VisibleCheckbox;
+          LayerInfo[i].KindIcon.Offset(0, InterruptorHeight*3 div 2);
           if LayerOriginalDefined[i] then
           if LayerOriginalDefined[i] then
           begin
           begin
             if LayerOriginalKnown[i] then
             if LayerOriginalKnown[i] then
-              DrawKind(LayerOriginalClass[i])
+              DrawKind(LayerOriginalClass[i], LayerInfo[i].KindIcon, LayerInfo[i].KindIconHint)
             else
             else
-              DrawKindUnknown;
+              DrawKindUnknown(LayerInfo[i].KindIcon, LayerInfo[i].KindIconHint);
           end
           end
           else
           else
-            DrawKind(nil);
+            DrawKind(nil, LayerInfo[i].KindIcon, LayerInfo[i].KindIconHint);
 
 
           inc(layerPos.X,InterruptorWidth);
           inc(layerPos.X,InterruptorWidth);
           if movingItemStart and (i= movingItemSourceIndex) then
           if movingItemStart and (i= movingItemSourceIndex) then
@@ -697,7 +705,7 @@ begin
             movingItemStart:= false;
             movingItemStart:= false;
           end;
           end;
 
 
-          LayerInfo[i] := DrawLayerItem(Bitmap,layerPos,i,lSelected);
+          LayerInfo[i].RightPart := DrawLayerItem(Bitmap,layerPos,i,lSelected);
           dec(layerPos.X,InterruptorWidth);
           dec(layerPos.X,InterruptorWidth);
         end;
         end;
       end;
       end;
@@ -856,8 +864,8 @@ begin
       BGRALayerStack.RedrawBitmap;
       BGRALayerStack.RedrawBitmap;
       exit;
       exit;
     end;
     end;
-    for i := 0 to high(interruptors) do
-      if PtInRect(Point(x,Y),interruptors[i]) then
+    for i := 0 to high(LayerInfo) do
+      if PtInRect(Point(x,Y),LayerInfo[i].VisibleCheckbox) then
       begin
       begin
         if i < LazPaintInstance.Image.NbLayers then
         if i < LazPaintInstance.Image.NbLayers then
         begin
         begin
@@ -869,13 +877,13 @@ begin
         exit;
         exit;
       end;
       end;
     for i := 0 to high(LayerInfo) do
     for i := 0 to high(LayerInfo) do
-      if IsPointInPolygon(LayerInfo[i].PreviewPts,pointF(x,y),true) then
+      if IsPointInPolygon(LayerInfo[i].RightPart.PreviewPts,pointF(x,y),true) then
       begin
       begin
         HandleSelectLayer(i,x,y);
         HandleSelectLayer(i,x,y);
         exit;
         exit;
       end;
       end;
     for i := 0 to high(LayerInfo) do
     for i := 0 to high(LayerInfo) do
-      if PtInRect(Point(x,Y),LayerInfo[i].NameRect) then
+      if PtInRect(Point(x,Y),LayerInfo[i].RightPart.NameRect) then
       begin
       begin
         if i < LazPaintInstance.Image.NbLayers then
         if i < LazPaintInstance.Image.NbLayers then
         begin
         begin
@@ -896,8 +904,8 @@ begin
         exit;
         exit;
       end;
       end;
     for i := 0 to high(LayerInfo) do
     for i := 0 to high(LayerInfo) do
-      if PtInRect(Point(x,Y),LayerInfo[i].OpacityBar) or PtInRect(Point(x+4,Y),LayerInfo[i].OpacityBar) or
-        PtInRect(Point(x-4,Y),LayerInfo[i].OpacityBar) then
+      if PtInRect(Point(x,Y),LayerInfo[i].RightPart.OpacityBar) or PtInRect(Point(x+4,Y),LayerInfo[i].RightPart.OpacityBar) or
+        PtInRect(Point(x-4,Y),LayerInfo[i].RightPart.OpacityBar) then
       begin
       begin
         if i < LazPaintInstance.Image.NbLayers then
         if i < LazPaintInstance.Image.NbLayers then
         begin
         begin
@@ -911,6 +919,8 @@ end;
 
 
 procedure TFLayerStack.BGRALayerStackMouseMove(Sender: TObject;
 procedure TFLayerStack.BGRALayerStackMouseMove(Sender: TObject;
   Shift: TShiftState; X, Y: Integer);
   Shift: TShiftState; X, Y: Integer);
+var
+  i: Integer;
 begin
 begin
   if movingItem <> nil then
   if movingItem <> nil then
   begin
   begin
@@ -931,6 +941,14 @@ begin
     HandleChangeLayerOpacity(X,Y);
     HandleChangeLayerOpacity(X,Y);
     exit;
     exit;
   end;
   end;
+  for i := 0 to high(LayerInfo) do
+    if LayerInfo[i].KindIcon.Contains(Point(X,Y)) then
+    begin
+      BGRALayerStack.Hint := LayerInfo[i].KindIconHint;
+      BGRALayerStack.ShowHint:= true;
+      exit;
+    end;
+  BGRALayerStack.ShowHint:= false;
 end;
 end;
 
 
 procedure TFLayerStack.BGRALayerStackMouseUp(Sender: TObject;
 procedure TFLayerStack.BGRALayerStackMouseUp(Sender: TObject;

+ 4 - 0
lazpaint/uresourcestrings.pas

@@ -31,6 +31,10 @@ resourcestring
   rsFileExtensionNotSupported='This file extension is not supported.';
   rsFileExtensionNotSupported='This file extension is not supported.';
   rsFileFormatNotRecognized='The file format has not been recognized.';
   rsFileFormatNotRecognized='The file format has not been recognized.';
   rsErrorLoadingOriginal='Error while loading original however layer can be rasterized.';
   rsErrorLoadingOriginal='Error while loading original however layer can be rasterized.';
+  rsRasterLayer = 'Raster layer';
+  rsTransformedRasterLayer = 'Transformed raster layer';
+  rsVectorialLayer = 'Vectorial layer';
+  rsUnknownOriginal = 'Unknown original';
   rsFileName = 'Filename';
   rsFileName = 'Filename';
   rsFileSize = 'Size';
   rsFileSize = 'Size';
   rsFileType = 'Type';
   rsFileType = 'Type';