[DEVELOPMENT ENVIRONMENT]
* NEW: Update french translation. * BUG: Remove now useless debugging code. * BUG: Fix report border chooser dialog. * BUG: Image editor: Fix magnet detection. * NEW: Image editor: Display the target frame when moving the pasted image. * BUG: Image editor: Fix the zero-width line drawing. * BUG: Fix project icon folder generation. * NEW: Add missing dark theme icons. git-svn-id: svn://localhost/gambas/trunk@7399 867c0c6c-44f3-4631-809d-bfa615b0a4ec
|
@ -222,7 +222,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gambas3 3.8.90\n"
|
||||
"PO-Revision-Date: 2015-10-06 23:25 UTC\n"
|
||||
"PO-Revision-Date: 2015-10-08 01:25 UTC\n"
|
||||
"Last-Translator: Benoît Minisini <gambas@users.sourceforge.net>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -2533,19 +2533,19 @@ msgstr "Action"
|
|||
msgid "Crop"
|
||||
msgstr "Découper"
|
||||
|
||||
#: FImageEditor.form:282 FImageProperty.form:293
|
||||
#: FImageEditor.form:282 FImageProperty.form:297
|
||||
msgid "Horizontal flip"
|
||||
msgstr "Miroir horizontal"
|
||||
|
||||
#: FImageEditor.form:289 FImageProperty.form:287
|
||||
#: FImageEditor.form:289 FImageProperty.form:291
|
||||
msgid "Vertical flip"
|
||||
msgstr "Miroir vertical"
|
||||
|
||||
#: FImageEditor.form:296 FImageProperty.form:281
|
||||
#: FImageEditor.form:296 FImageProperty.form:285
|
||||
msgid "Rotate counter-clockwise"
|
||||
msgstr "Rotation de 90° vers la gauche"
|
||||
|
||||
#: FImageEditor.form:304 FImageProperty.form:275
|
||||
#: FImageEditor.form:304 FImageProperty.form:279
|
||||
msgid "Rotate clockwise"
|
||||
msgstr "Rotation de 90° vers la droite"
|
||||
|
||||
|
@ -2633,191 +2633,203 @@ msgstr "px"
|
|||
msgid "Duplicate"
|
||||
msgstr "Dupliquer"
|
||||
|
||||
#: FImageProperty.class:775
|
||||
#: FImageProperty.class:784
|
||||
msgid "System clipboard"
|
||||
msgstr "Presse-papier système"
|
||||
|
||||
#: FImageProperty.class:1226
|
||||
#: FImageProperty.class:1235
|
||||
msgid "Arrow"
|
||||
msgstr "Flèche"
|
||||
|
||||
#: FImageProperty.class:1228
|
||||
#: FImageProperty.class:1237
|
||||
msgid "Arrow #2"
|
||||
msgstr "Flèche n°2"
|
||||
|
||||
#: FImageProperty.class:1229
|
||||
#: FImageProperty.class:1238
|
||||
msgid "Triangle"
|
||||
msgstr "Triangle"
|
||||
|
||||
#: FImageProperty.class:1230
|
||||
#: FImageProperty.class:1239
|
||||
msgid "Square triangle"
|
||||
msgstr "Triangle rectangle"
|
||||
|
||||
#: FImageProperty.class:1231
|
||||
#: FImageProperty.class:1240
|
||||
msgid "Pentagon"
|
||||
msgstr "Pentagone"
|
||||
|
||||
#: FImageProperty.class:1232
|
||||
#: FImageProperty.class:1241
|
||||
msgid "Hexagon"
|
||||
msgstr "Hexagone"
|
||||
|
||||
#: FImageProperty.form:131 FOption.form:216 FReportBrushChooser.form:49
|
||||
#: FImageProperty.form:135 FOption.form:216 FReportBrushChooser.form:49
|
||||
msgid "Color"
|
||||
msgstr "Couleur"
|
||||
|
||||
#: FImageProperty.form:161
|
||||
#: FImageProperty.form:165
|
||||
msgid "Gradient"
|
||||
msgstr "Dégradé"
|
||||
|
||||
#: FImageProperty.form:177 FReportBrushChooser.form:49
|
||||
#: FImageProperty.form:181 FReportBrushChooser.form:49
|
||||
msgid "Linear gradient"
|
||||
msgstr "Dégradé linéaire"
|
||||
|
||||
#: FImageProperty.form:184 FReportBrushChooser.form:49
|
||||
#: FImageProperty.form:188 FReportBrushChooser.form:49
|
||||
msgid "Radial gradient"
|
||||
msgstr "Dégradé circulaire"
|
||||
|
||||
#: FImageProperty.form:208 FReportBrushChooser.form:111
|
||||
#: FImageProperty.form:212 FReportBrushChooser.form:111
|
||||
msgid "Add gradient stop"
|
||||
msgstr "Ajouter une couleur de dégradé"
|
||||
|
||||
#: FImageProperty.form:214 FReportBrushChooser.form:117
|
||||
#: FImageProperty.form:218 FReportBrushChooser.form:117
|
||||
msgid "Remove gradient stop"
|
||||
msgstr "Supprimer une couleur de dégradé"
|
||||
|
||||
#: FImageProperty.form:220 FReportBrushChooser.form:123
|
||||
#: FImageProperty.form:224 FReportBrushChooser.form:123
|
||||
msgid "Select gradient stop color..."
|
||||
msgstr "Sélectionnez la couleur de dégradé..."
|
||||
|
||||
#: FImageProperty.form:226 FReportBrushChooser.form:129
|
||||
#: FImageProperty.form:230 FReportBrushChooser.form:129
|
||||
msgid "Invert gradient"
|
||||
msgstr "Inverser le dégradé"
|
||||
|
||||
#: FImageProperty.form:248 FReportBrushChooser.form:145
|
||||
#: FImageProperty.form:252 FReportBrushChooser.form:145
|
||||
msgid "Radius"
|
||||
msgstr "Rayon"
|
||||
|
||||
#: FImageProperty.form:315
|
||||
#: FImageProperty.form:319
|
||||
msgid "Clipboard"
|
||||
msgstr "Presse-papier"
|
||||
|
||||
#: FImageProperty.form:327
|
||||
#: FImageProperty.form:331
|
||||
msgid "Shapes"
|
||||
msgstr "Formes"
|
||||
|
||||
#: FImageProperty.form:352
|
||||
#: FImageProperty.form:356
|
||||
msgid "Stroke"
|
||||
msgstr "Tracer"
|
||||
|
||||
#: FImageProperty.form:360
|
||||
#: FImageProperty.form:364
|
||||
msgid "Fill"
|
||||
msgstr "Remplir"
|
||||
|
||||
#: FImageProperty.form:376
|
||||
#: FImageProperty.form:380
|
||||
msgid "Colorize"
|
||||
msgstr "Colorier"
|
||||
|
||||
#: FImageProperty.form:384
|
||||
#: FImageProperty.form:388
|
||||
msgid "Desaturate"
|
||||
msgstr "Désaturer"
|
||||
|
||||
#: FImageProperty.form:392
|
||||
#: FImageProperty.form:396
|
||||
msgid "Make transparent"
|
||||
msgstr "Rendre transparent"
|
||||
|
||||
#: FImageProperty.form:406
|
||||
msgid "Line cap"
|
||||
msgstr "Extrêmités des lignes"
|
||||
|
||||
#: FImageProperty.form:411
|
||||
msgid "Line join"
|
||||
msgstr "Jointure des lignes"
|
||||
|
||||
#: FImageProperty.form:416
|
||||
msgid "Fill rule"
|
||||
msgstr "Règle de remplissage"
|
||||
|
||||
#: FImageProperty.form:434
|
||||
msgid "Opacity"
|
||||
msgstr "Opacité"
|
||||
|
||||
#: FImageProperty.form:430 FSelectIcon.form:54 FTranslate.class:70
|
||||
#: FImageProperty.form:453 FSelectIcon.form:54 FTranslate.class:70
|
||||
msgid "Size"
|
||||
msgstr "Taille"
|
||||
|
||||
#: FImageProperty.form:447
|
||||
#: FImageProperty.form:470
|
||||
msgid "Tolerance"
|
||||
msgstr "Tolérance"
|
||||
|
||||
#: FImageProperty.form:466
|
||||
#: FImageProperty.form:489
|
||||
msgid "Roundness"
|
||||
msgstr "Arrondi"
|
||||
|
||||
#: FImageProperty.form:492
|
||||
#: FImageProperty.form:515
|
||||
msgid "Effects"
|
||||
msgstr "Effets"
|
||||
|
||||
#: FImageProperty.form:502
|
||||
#: FImageProperty.form:525
|
||||
msgid "Brightness"
|
||||
msgstr "Luminosité"
|
||||
|
||||
#: FImageProperty.form:520
|
||||
#: FImageProperty.form:543
|
||||
msgid "Contrast"
|
||||
msgstr "Contraste"
|
||||
|
||||
#: FImageProperty.form:538
|
||||
#: FImageProperty.form:561
|
||||
msgid "Gamma"
|
||||
msgstr "Gamma"
|
||||
|
||||
#: FImageProperty.form:556
|
||||
#: FImageProperty.form:579
|
||||
msgid "Lightness"
|
||||
msgstr "Clarté"
|
||||
|
||||
#: FImageProperty.form:574
|
||||
#: FImageProperty.form:597
|
||||
msgid "Hue"
|
||||
msgstr "Teinte"
|
||||
|
||||
#: FImageProperty.form:592
|
||||
#: FImageProperty.form:615
|
||||
msgid "Saturation"
|
||||
msgstr "Saturation"
|
||||
|
||||
#: FImageProperty.form:610
|
||||
#: FImageProperty.form:633
|
||||
msgid "Blur"
|
||||
msgstr "Flou"
|
||||
|
||||
#: FImageProperty.form:632 FImportTable.form:188
|
||||
#: FImageProperty.form:655 FImportTable.form:188
|
||||
msgid "Preview"
|
||||
msgstr "Aperçu"
|
||||
|
||||
#: FImageProperty.form:644 FOption.form:1366 FProjectProperty.form:589
|
||||
#: FImageProperty.form:667 FOption.form:1366 FProjectProperty.form:589
|
||||
msgid "Reset"
|
||||
msgstr "Réinitialiser"
|
||||
|
||||
#: FImageProperty.form:651 FMain.form:436 FPatch.form:69
|
||||
#: FImageProperty.form:674 FMain.form:436 FPatch.form:69
|
||||
msgid "Apply"
|
||||
msgstr "Appliquer"
|
||||
|
||||
#: FImageProperty.form:677
|
||||
#: FImageProperty.form:700
|
||||
msgid "Centered"
|
||||
msgstr "Centré"
|
||||
|
||||
#: FImageProperty.form:686
|
||||
#: FImageProperty.form:709
|
||||
msgid "Right align"
|
||||
msgstr "Aligner à droite"
|
||||
|
||||
#: FImageProperty.form:695
|
||||
#: FImageProperty.form:718
|
||||
msgid "Left align"
|
||||
msgstr "Aligner à gauche"
|
||||
|
||||
#: FImageProperty.form:709
|
||||
#: FImageProperty.form:732
|
||||
msgid "Top align"
|
||||
msgstr "Aligner en haut"
|
||||
|
||||
#: FImageProperty.form:719
|
||||
#: FImageProperty.form:742
|
||||
msgid "Middle align"
|
||||
msgstr "Aligner au milieu"
|
||||
|
||||
#: FImageProperty.form:728
|
||||
#: FImageProperty.form:751
|
||||
msgid "Baseline align"
|
||||
msgstr "Aligner sur la ligne de base"
|
||||
|
||||
#: FImageProperty.form:737
|
||||
#: FImageProperty.form:760
|
||||
msgid "Bottom align"
|
||||
msgstr "Aligner en bas"
|
||||
|
||||
#: FImageProperty.form:769
|
||||
#: FImageProperty.form:792
|
||||
msgid "Grid resolution"
|
||||
msgstr "Résolution de la grille"
|
||||
|
||||
#: FImageProperty.form:783
|
||||
#: FImageProperty.form:806
|
||||
msgid "Subdivision"
|
||||
msgstr "Sous-divisions"
|
||||
|
||||
|
@ -3321,7 +3333,7 @@ msgstr "Tout ajouter au référentiel"
|
|||
msgid "New connection"
|
||||
msgstr "Nouvelle connexion"
|
||||
|
||||
#: FMain.form:1087 FOutput.form:204
|
||||
#: FMain.form:1087 FOutput.form:202
|
||||
msgid "?"
|
||||
msgstr "?"
|
||||
|
||||
|
@ -3369,7 +3381,7 @@ msgstr "Feuille de propriétés"
|
|||
msgid "Toolbox"
|
||||
msgstr "Boîte à outils"
|
||||
|
||||
#: FMain.form:1292 FOutput.form:165 FSearch.form:62
|
||||
#: FMain.form:1292 FOutput.form:163 FSearch.form:62
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
|
@ -4273,19 +4285,19 @@ msgstr "Console flottante"
|
|||
msgid "Keep above"
|
||||
msgstr "Conserver au premier plan"
|
||||
|
||||
#: FOutput.form:127
|
||||
#: FOutput.form:126
|
||||
msgid "Clear console"
|
||||
msgstr "Effacer la console"
|
||||
|
||||
#: FOutput.form:151
|
||||
#: FOutput.form:150
|
||||
msgid "Entered text echo"
|
||||
msgstr "Echo du texte saisi"
|
||||
|
||||
#: FOutput.form:153
|
||||
#: FOutput.form:152
|
||||
msgid "Echo"
|
||||
msgstr "Echo"
|
||||
|
||||
#: FOutput.form:178
|
||||
#: FOutput.form:176
|
||||
msgid "Use system charset"
|
||||
msgstr "Utiliser le jeu de caractères du système"
|
||||
|
||||
|
|
|
@ -977,8 +977,6 @@ End
|
|||
|
||||
Public Sub AddSymbol(hSym As CSymbolInfo)
|
||||
|
||||
If Not hSym.Name Then Stop
|
||||
|
||||
Symbols[hSym.Name] = hSym
|
||||
If hSym.IsEvent() And Not hSym.IsHidden() Then HasEvents = True
|
||||
|
||||
|
|
|
@ -490,8 +490,6 @@ Public Sub Load()
|
|||
|
||||
'If Key = Project.Name Then Goto HAS_BEEN_LOADED
|
||||
|
||||
If Key = "gb.form.mdi" And If Documentation.Name Then Stop
|
||||
|
||||
ClassList = New String[]
|
||||
Controls = New String[]
|
||||
|
||||
|
@ -720,7 +718,6 @@ Public Sub Load()
|
|||
If hSym And If hSym.Value Then
|
||||
If hClass.Parent Then
|
||||
hParent = cClasses[hClass.ParentComponent &/ hClass.Parent]
|
||||
If Not hParent Then Stop
|
||||
hSym = hParent.Symbols["_IsForm"]
|
||||
If hSym And If hSym.Value Then
|
||||
Hiddens.Add(sClass)
|
||||
|
|
|
@ -471,26 +471,33 @@ Public Sub crdBottomLeft2_Change()
|
|||
|
||||
End
|
||||
|
||||
Private Sub HandleCheck(hCtrl As CoordBox, hMain As CoordBox, bCheck As Boolean)
|
||||
|
||||
hCtrl.Enabled = Not bCheck
|
||||
If bCheck Then hCtrl.Value = hMain.Value
|
||||
|
||||
End
|
||||
|
||||
Public Sub chkTopLeft_Click()
|
||||
|
||||
crdTopLeft2.Enabled = Not Last.Value
|
||||
HandleCheck(crdTopLeft2, crdTopLeft1, Last.Value)
|
||||
|
||||
End
|
||||
|
||||
Public Sub chkTopRight_Click()
|
||||
|
||||
crdTopRight2.Enabled = Not Last.value
|
||||
HandleCheck(crdTopRight2, crdTopRight1, Last.Value)
|
||||
|
||||
End
|
||||
|
||||
Public Sub chkBottomRight_Click()
|
||||
|
||||
crdBottomRight2.Enabled = Not Last.value
|
||||
HandleCheck(crdBottomRight2, crdBottomRight1, Last.Value)
|
||||
|
||||
End
|
||||
|
||||
Public Sub chkBottomLeft_Click()
|
||||
|
||||
crdBottomLeft2.Enabled = Not Last.value
|
||||
HandleCheck(crdBottomLeft2, crdBottomLeft1, Last.Value)
|
||||
|
||||
End
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
# Gambas Form File 3.0
|
||||
|
||||
{ Form Form
|
||||
MoveScaled(0,0,78,32)
|
||||
MoveScaled(0,0,80,33)
|
||||
Text = ("Configure border")
|
||||
Resizable = False
|
||||
{ btnCancel Button
|
||||
MoveScaled(61,27,16,4)
|
||||
MoveScaled(63,28,16,4)
|
||||
Text = ("Cancel")
|
||||
Cancel = True
|
||||
}
|
||||
{ btnOK Button
|
||||
MoveScaled(44,27,16,4)
|
||||
MoveScaled(46,28,16,4)
|
||||
Text = ("OK")
|
||||
Default = True
|
||||
}
|
||||
{ chkSynchro CheckBox
|
||||
MoveScaled(1,27,20,4)
|
||||
MoveScaled(1,28,20,4)
|
||||
Text = ("Synchronize")
|
||||
}
|
||||
{ TabStrip1 TabStrip
|
||||
MoveScaled(1,1,50,25)
|
||||
MoveScaled(1,1,52,26)
|
||||
Count = 2
|
||||
Index = 0
|
||||
Text = ("Border")
|
||||
|
@ -89,14 +89,14 @@
|
|||
Index = 1
|
||||
Text = ("Corner")
|
||||
{ panCorner Panel
|
||||
MoveScaled(1,1,47,19)
|
||||
MoveScaled(1,1,49,19)
|
||||
{ Label2 Label
|
||||
MoveScaled(0,5,9,4)
|
||||
#Translate = False
|
||||
Text = "TopRight"
|
||||
}
|
||||
{ crdTopRight1 CoordBox
|
||||
MoveScaled(12,5,15,4)
|
||||
MoveScaled(12,5,16,4)
|
||||
}
|
||||
{ Label7 Label
|
||||
MoveScaled(0,10,12,4)
|
||||
|
@ -104,7 +104,7 @@
|
|||
Text = "BottomRight"
|
||||
}
|
||||
{ crdBottomRight1 CoordBox
|
||||
MoveScaled(12,10,15,4)
|
||||
MoveScaled(12,10,16,4)
|
||||
}
|
||||
{ Label8 Label
|
||||
MoveScaled(0,15,11,4)
|
||||
|
@ -112,10 +112,10 @@
|
|||
Text = "BottomLeft"
|
||||
}
|
||||
{ crdBottomLeft1 CoordBox
|
||||
MoveScaled(12,15,15,4)
|
||||
MoveScaled(12,15,16,4)
|
||||
}
|
||||
{ crdTopLeft1 CoordBox
|
||||
MoveScaled(12,0,15,4)
|
||||
MoveScaled(12,0,16,4)
|
||||
}
|
||||
{ Label1 Label
|
||||
MoveScaled(0,0,9,4)
|
||||
|
@ -123,42 +123,42 @@
|
|||
Text = "TopLeft"
|
||||
}
|
||||
{ crdTopLeft2 CoordBox
|
||||
MoveScaled(28,0,15,4)
|
||||
MoveScaled(29,0,16,4)
|
||||
Enabled = False
|
||||
}
|
||||
{ crdTopRight2 CoordBox
|
||||
MoveScaled(28,5,15,4)
|
||||
MoveScaled(29,5,16,4)
|
||||
Enabled = False
|
||||
}
|
||||
{ crdBottomRight2 CoordBox
|
||||
MoveScaled(28,10,15,4)
|
||||
MoveScaled(29,10,16,4)
|
||||
Enabled = False
|
||||
}
|
||||
{ crdBottomLeft2 CoordBox
|
||||
MoveScaled(28,15,15,4)
|
||||
MoveScaled(29,15,16,4)
|
||||
Enabled = False
|
||||
}
|
||||
{ chkTopLeft CheckBox
|
||||
MoveScaled(44,0,3,4)
|
||||
MoveScaled(46,0,3,4)
|
||||
Value = CheckBox.True
|
||||
}
|
||||
{ chkTopRight CheckBox
|
||||
MoveScaled(44,5,3,4)
|
||||
MoveScaled(46,5,3,4)
|
||||
Value = CheckBox.True
|
||||
}
|
||||
{ chkBottomRight CheckBox
|
||||
MoveScaled(44,10,3,4)
|
||||
MoveScaled(46,10,3,4)
|
||||
Value = CheckBox.True
|
||||
}
|
||||
{ chkBottomLeft CheckBox
|
||||
MoveScaled(44,15,3,4)
|
||||
MoveScaled(46,15,3,4)
|
||||
Value = CheckBox.True
|
||||
}
|
||||
}
|
||||
Index = 0
|
||||
}
|
||||
{ Panel1 Panel
|
||||
MoveScaled(52,1,25,25)
|
||||
MoveScaled(54,1,25,26)
|
||||
Arrangement = Arrange.Fill
|
||||
Border = Border.Plain
|
||||
{ dwgBorder DrawingArea
|
||||
|
|
|
@ -76,8 +76,8 @@ Private Sub Value_Write(Value As String)
|
|||
Dim I As Integer
|
||||
Dim sCar As String
|
||||
Dim Unit As String
|
||||
Dim fValue As Float
|
||||
|
||||
Balloon.Hide
|
||||
Value = Trim(Value)
|
||||
|
||||
If Not Value Then
|
||||
|
@ -86,28 +86,27 @@ Private Sub Value_Write(Value As String)
|
|||
Return
|
||||
Endif
|
||||
|
||||
For I = 1 To Len(Value)
|
||||
For I = Len(Value) DownTo 1
|
||||
sCar = Mid$(Value, I, 1)
|
||||
If Not IsDigit(sCar) Then
|
||||
If sCar <> "." Then
|
||||
If $bAllowNegative And If sCar = "-" Then Continue
|
||||
Break
|
||||
Endif
|
||||
Endif
|
||||
If IsDigit(sCar) Or If sCar = "." Then Break
|
||||
Next
|
||||
Inc I
|
||||
|
||||
Try fValue = Val(Left$(Value, I - 1))
|
||||
If Error Then Error.Raise("Bad value")
|
||||
If fValue < 0 And If Not $bAllowNegative Then Error.Raise("Bad value")
|
||||
|
||||
$hTextBox.Text = Str(fValue)
|
||||
|
||||
Try $hTextBox.Text = Str(Left$(Value, I - 1))
|
||||
Unit = Trim(Mid$(Value, I))
|
||||
|
||||
If Not Unit Then Unit = "%"
|
||||
|
||||
If Not $aUnits.Exist(Unit) Then
|
||||
If Not $bAllowRelative Or Unit <> "%" Then
|
||||
Balloon.Delay = 3000
|
||||
Balloon.Error("Unknown unit", $hButton)
|
||||
Return
|
||||
Error.Raise("Unknown unit")
|
||||
Endif
|
||||
Endif
|
||||
|
||||
$hButton.Text = Unit
|
||||
|
||||
End
|
||||
|
|
|
@ -13,13 +13,19 @@ Public IsText As Boolean
|
|||
Public Sub Paint((hSelect) As CImageSelection, bWithMatrix As Boolean, (bSelection) As Boolean)
|
||||
|
||||
Dim I As Integer
|
||||
Dim D As Float
|
||||
|
||||
If bWithMatrix Then Return
|
||||
If Points.Count = 0 Then Return
|
||||
|
||||
If Points.Count = 1 Then
|
||||
If bSelection Then
|
||||
Paint.Arc(Points[0].X, Points[0].Y, 4 * Paint.LineWidth)
|
||||
D = 4 * Paint.LineWidth
|
||||
Paint.Arc(Points[0].X, Points[0].Y, D)
|
||||
Paint.MoveTo(Points[0].X, Points[0].Y - D)
|
||||
Paint.LineTo(Points[0].X, Points[0].Y + D)
|
||||
Paint.MoveTo(Points[0].X - D, Points[0].Y)
|
||||
Paint.LineTo(Points[0].X + D, Points[0].Y)
|
||||
Endif
|
||||
Return
|
||||
Endif
|
||||
|
|
|
@ -244,7 +244,7 @@ End
|
|||
Private Sub AddUndo(hObject As Object)
|
||||
|
||||
If Not hObject Then Return
|
||||
If $aUndo.Count = 64 Then $aUndo.Remove(0)
|
||||
If $aUndo.Count = 256 Then $aUndo.Remove(0)
|
||||
$aUndo.Add(hObject)
|
||||
$aRedo.Clear
|
||||
|
||||
|
@ -545,6 +545,9 @@ Public Sub btnUndo_Click()
|
|||
$aRedo.Add($hSelect)
|
||||
$hSelect = vUndo
|
||||
imvImage.Refresh
|
||||
Else If vUndo Is PointF Then
|
||||
$aRedo.Add($hLastPoint)
|
||||
$hLastPoint = vUndo
|
||||
Endif
|
||||
|
||||
Until iLevel = 0
|
||||
|
@ -581,6 +584,9 @@ Public Sub btnRedo_Click()
|
|||
$aUndo.Add($hSelect)
|
||||
$hSelect = vUndo
|
||||
imvImage.Refresh
|
||||
Else If vUndo Is PointF Then
|
||||
$aUndo.Add($hLastPoint)
|
||||
$hLastPoint = vUndo
|
||||
Endif
|
||||
|
||||
Until iLevel = 0
|
||||
|
@ -609,10 +615,10 @@ Private Sub GetImagePos() As PointF
|
|||
Y = hPoint.Y + Frac((hPos.Y - hOrg.Y) / imvImage.Zoom)
|
||||
|
||||
If $hMagnet Then
|
||||
|
||||
If Abs($hMagnet - PointF(X, Y)) <= 8 / imvImage.Zoom Then Return $hMagnet
|
||||
Endif
|
||||
|
||||
Else If $bShowGrid Then
|
||||
If $bShowGrid Then
|
||||
|
||||
iSnap = FImageProperty.GetGridResolution() \ FImageProperty.GetGridSubdivision()
|
||||
|
||||
|
@ -626,12 +632,12 @@ Private Sub GetImagePos() As PointF
|
|||
|
||||
Else If $sTool = "draw" Or If $sTool = "erase" Then
|
||||
|
||||
X = CInt(X)
|
||||
Y = CInt(Y)
|
||||
|
||||
If FImageProperty.GetSize() Then
|
||||
X += 0.5
|
||||
Y += 0.5
|
||||
X = CInt(X * 2) / 2
|
||||
Y = CInt(Y * 2) / 2
|
||||
Else
|
||||
X = CInt(X)
|
||||
Y = CInt(Y)
|
||||
Endif
|
||||
|
||||
Else
|
||||
|
@ -697,6 +703,8 @@ Private Sub AddStroke(hPoint As PointF)
|
|||
|
||||
FImageProperty.PaintForStroke(Null, True)
|
||||
|
||||
If Not Paint.AntiAlias Then Paint.Translate(0.5, 0.5)
|
||||
|
||||
Paint.MoveTo($hLastPoint.X, $hLastPoint.Y)
|
||||
Paint.LineTo(hPoint.X, hPoint.Y)
|
||||
|
||||
|
@ -760,12 +768,16 @@ Public Sub imvImage_MouseDown()
|
|||
Case "line"
|
||||
|
||||
CreateSelection
|
||||
|
||||
BeginUndo
|
||||
AddUndo($hSelect.Copy())
|
||||
If $hLastPoint Then AddUndo($hLastPoint.Copy())
|
||||
EndUndo
|
||||
|
||||
$hCurrentPoint = GetImagePos()
|
||||
If $hMagnet Then $hCurrentPoint = $hMagnet
|
||||
|
||||
If Not Mouse.Shift Or If Not $hLastPoint Then
|
||||
If Not Mouse.Shift Or If Not $hLastPoint Or If $hSelect.Count = 0 Then
|
||||
$hSelect.MoveTo($hCurrentPoint.X, $hCurrentPoint.Y)
|
||||
Else
|
||||
$hSelect.LineTo($hCurrentPoint.X, $hCurrentPoint.Y)
|
||||
|
@ -795,8 +807,8 @@ Public Sub imvImage_MouseDown()
|
|||
|
||||
If $hPaste Then
|
||||
$hLastPoint = GetImagePos()
|
||||
If $hMagnet Then $hLastPoint = $hMagnet
|
||||
$hLastPoint = GetImagePos()
|
||||
'If $hMagnet Then $hLastPoint = $hMagnet
|
||||
'$hLastPoint = GetImagePos()
|
||||
Endif
|
||||
|
||||
Case "change"
|
||||
|
@ -988,8 +1000,6 @@ FIND_MAGNET:
|
|||
|
||||
If hMagnet Then
|
||||
|
||||
'Print "Magnet";; hMagnet; " <- "; hPoint
|
||||
|
||||
If bCurrent Then
|
||||
hCurrent = hMagnet
|
||||
$hLastMagnet = Null
|
||||
|
@ -1221,6 +1231,13 @@ Public Sub imvImage_MouseMove()
|
|||
|
||||
End Select
|
||||
|
||||
' If $sTool = "paste" Then
|
||||
' If $hPaste Then
|
||||
' $hPasteCurrent = $hPasteSelect.Copy()
|
||||
' $hChangeRect = $hPasteCurrent.GetExtents()
|
||||
' Endif
|
||||
' Endif
|
||||
|
||||
Endif
|
||||
|
||||
imvImage.Refresh
|
||||
|
@ -1707,7 +1724,6 @@ Public Sub imvImage_Draw(hZoom As Image)
|
|||
FImageProperty.PaintForStroke
|
||||
If $sTool = "erase" Then Paint.Background = Color.SetAlpha(Color.Gray, 128)
|
||||
Paint.LineWidth *= imvImage.Zoom
|
||||
Paint.AntiAlias = False
|
||||
Endif
|
||||
|
||||
'Paint.Background = Color.SetAlpha(Color.White, 128)
|
||||
|
@ -1769,6 +1785,21 @@ Public Sub imvImage_Draw(hZoom As Image)
|
|||
|
||||
Paint.ClipRect = Rect(hOffset.X, hOffset.Y, Ceil($hImage.W * imvImage.Zoom), Ceil($hImage.H * imvImage.Zoom))
|
||||
imvImage._Paint(hImage, hOffset.X + Floor(.X) * imvImage.Zoom, hOffset.Y + Floor(.Y) * imvImage.Zoom)
|
||||
|
||||
If $bPress Then
|
||||
Paint.LineWidth = 1 / imvImage.Zoom
|
||||
Paint.AntiAlias = False
|
||||
Paint.LineJoin = Paint.LineJoinMiter
|
||||
Paint.Translate(hOffset.X + 0.5, hOffset.Y + 0.5)
|
||||
Paint.Scale(imvImage.Zoom, imvImage.Zoom)
|
||||
Paint.Rectangle(.X, .Y, .W, .H)
|
||||
Paint.Background = Color.White
|
||||
Paint.Stroke(True)
|
||||
Paint.Background = Color.Black
|
||||
Paint.Dash = [4.0, 4.0]
|
||||
Paint.DashOffset = 0
|
||||
Paint.Stroke
|
||||
Endif
|
||||
Endif
|
||||
|
||||
End With
|
||||
|
@ -1785,7 +1816,7 @@ Public Sub imvImage_Draw(hZoom As Image)
|
|||
Paint.Scale(imvImage.Zoom, imvImage.Zoom)
|
||||
|
||||
Paint.LineWidth = 2 / imvImage.Zoom
|
||||
Paint.AntiAlias = True
|
||||
Paint.AntiAlias = False
|
||||
Paint.LineJoin = Paint.LineJoinRound
|
||||
|
||||
If $sTool = "change" Then
|
||||
|
@ -1801,23 +1832,15 @@ Public Sub imvImage_Draw(hZoom As Image)
|
|||
With $hChangeRect
|
||||
|
||||
Paint.Rectangle(.X, .Y, .W, .H)
|
||||
Paint.Stroke
|
||||
Paint.Stroke(True)
|
||||
|
||||
'Paint.LineWidth = 1 / imvImage.Zoom
|
||||
' Paint.MoveTo(.X + .W / 2, .Y + .H / 2)
|
||||
' Paint.RelMoveTo(0, -4 / imvImage.Zoom)
|
||||
' Paint.RelLineTo(0, 8 / imvImage.Zoom)
|
||||
' Paint.RelMoveTo(-4 / imvImage.Zoom, -4 / imvImage.Zoom)
|
||||
' Paint.RelLineTo(8 / imvImage.Zoom, 0)
|
||||
' Paint.Stroke
|
||||
Paint.Background = Color.SetAlpha(Color.White, 128)
|
||||
Paint.Dash = [2.0, 2.0]
|
||||
Paint.DashOffset = 0
|
||||
Paint.Stroke
|
||||
|
||||
End With
|
||||
|
||||
Paint.Background = Color.SetAlpha(Color.White, 128)
|
||||
Paint.Dash = [2.0, 2.0]
|
||||
Paint.DashOffset = 0
|
||||
Paint.Rectangle($hChangeRect.X, $hChangeRect.Y, $hChangeRect.W, $hChangeRect.H)
|
||||
Paint.Stroke
|
||||
|
||||
Paint.Background = Color.SetAlpha(Color.Red, 128)
|
||||
Paint.Arc($hChangeRect.X + 0.5 / imvImage.Zoom, $hChangeRect.Y + 0.5 / imvImage.Zoom, 7 / imvImage.Zoom)
|
||||
|
|
|
@ -67,7 +67,6 @@ Public Sub DrawControl(hCCtrl As CControl) As Boolean
|
|||
|
||||
If Not hCCtrl.HasChildren() And If hCCtrl.GetProperty("Expand") Then
|
||||
hParent = hCCtrl.Parent
|
||||
If hParent = hCCtrl.GetForm().RootControl Then Stop
|
||||
If hParent Then
|
||||
If Not $hExpand Then $hExpand = Picture["img/family/expand.png"]
|
||||
Select Case GetIcon(hParent)
|
||||
|
|
|
@ -239,7 +239,6 @@ Private Sub FillTree()
|
|||
sComponent = hClass.Component
|
||||
Endif
|
||||
sClass = hClass.Name
|
||||
If sClass = "Hunk" Then Stop
|
||||
|
||||
If Not tvwClasses.Exist(sComponent) Then
|
||||
tvwClasses.Add(sComponent, sComponent, Picture["img/16/component.png"])
|
||||
|
|
|
@ -5398,22 +5398,29 @@ Public Sub MakeDirectoryIcon(Optional sDir As String)
|
|||
Dim sIcon As String
|
||||
Dim hDirIcon As Image
|
||||
Dim hIcon As Image
|
||||
Dim bExist As Boolean
|
||||
Dim sPath As String
|
||||
|
||||
If Not sDir Then
|
||||
sDir = Project.Dir
|
||||
If Project.Icon Then sIcon = sDir &/ Project.Icon
|
||||
If Not sDir Then sDir = Project.Dir
|
||||
|
||||
If Project.Icon Then
|
||||
sIcon = sDir &/ Project.Icon
|
||||
Else
|
||||
sIcon = "img/logo/project.png"
|
||||
Endif
|
||||
|
||||
hDirIcon = Image.Load("img/logo/folder.png")
|
||||
|
||||
If sIcon Then
|
||||
Try hIcon = StretchIcon(sIcon, 128)
|
||||
If hIcon Then hDirIcon.PaintImage(hIcon, 64, 88)
|
||||
Endif
|
||||
Try hIcon = StretchIcon(sIcon, 128)
|
||||
If hIcon Then hDirIcon.PaintImage(hIcon, 64, 88)
|
||||
|
||||
Try Kill sDir &/ ".icon.png"
|
||||
hDirIcon.Save(sDir &/ ".icon.png")
|
||||
File.Save(sDir &/ ".directory", "[Desktop Entry]\nIcon=./.icon.png\n")
|
||||
|
||||
sPath = sDir &/ ".directory"
|
||||
bExist = Exist(sPath)
|
||||
File.Save(sPath, "[Desktop Entry]\nIcon=./.icon.png\n")
|
||||
If Not bExist Then VersionControl.AddFile(sPath)
|
||||
|
||||
Catch
|
||||
|
||||
|
|
|
@ -278,7 +278,6 @@ Private Sub AddError(sErr As String)
|
|||
If Not Trim(sErr) Then Return
|
||||
If UCase(sErr) = sErr Then Return
|
||||
If $aErr.Exist(sErr) Then Return
|
||||
If sErr = "_call" Then Stop
|
||||
$aErr.Add(sErr)
|
||||
|
||||
End
|
||||
|
|
Before Width: | Height: | Size: 482 B After Width: | Height: | Size: 593 B |
BIN
app/src/gambas3/img/draw/cap-butt-dark.png
Normal file
After Width: | Height: | Size: 140 B |
BIN
app/src/gambas3/img/draw/cap-round-dark.png
Normal file
After Width: | Height: | Size: 295 B |
BIN
app/src/gambas3/img/draw/cap-square-dark.png
Normal file
After Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 651 B |
BIN
app/src/gambas3/img/draw/desaturate-dark.png
Normal file
After Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 276 B |
BIN
app/src/gambas3/img/draw/grid-dark.png
Normal file
After Width: | Height: | Size: 122 B |
BIN
app/src/gambas3/img/draw/join-bevel-dark.png
Normal file
After Width: | Height: | Size: 223 B |
BIN
app/src/gambas3/img/draw/join-miter-dark.png
Normal file
After Width: | Height: | Size: 140 B |
BIN
app/src/gambas3/img/draw/join-round-dark.png
Normal file
After Width: | Height: | Size: 338 B |
BIN
app/src/gambas3/img/draw/scroll-dark.png
Normal file
After Width: | Height: | Size: 220 B |
Before Width: | Height: | Size: 462 B |