# Gambas Form File 3.0

{ Form Form
  MoveScaled(0,0,68,195)
  Persistent = True
  Arrangement = Arrange.Fill
  { svwImageProperty ScrollView
    MoveScaled(1,1,65,193)
    Arrangement = Arrange.Vertical
    Border = False
    ScrollBar = Scroll.Vertical
    { tabBrush TabPanel
      MoveScaled(1,1,61,53)
      Arrangement = Arrange.Vertical
      Border = False
      Count = 4
      CloseButton = True
      Index = 0
      Text = ("Color")
      { Panel3 Panel
        MoveScaled(1,1,54,32)
        Expand = True
        Arrangement = Arrange.Vertical
        Spacing = True
        Margin = True
        { cchColor ColorChooser
          MoveScaled(0,0,50,31)
          Expand = True
          Border = False
        }
      }
      { Separator8 Separator
        MoveScaled(23,34,28,0)
      }
      { Panel8 Panel
        MoveScaled(3,35,46,10)
        Arrangement = Arrange.Fill
        { palColor ColorPalette
          MoveScaled(0,0,44,6)
          Border = False
        }
      }
      Index = 1
      Text = ("Gradient")
      { Panel4 Panel
        MoveScaled(1,1,55,38)
        Expand = True
        Arrangement = Arrange.Vertical
        Spacing = True
        Margin = True
        { HBox2 HBox
          MoveScaled(1,0,53,4)
          Spacing = True
          { radLinear RadioButton
            MoveScaled(0,0,19,4)
            AutoResize = True
            Text = ("Linear gradient")
            Value = True
          }
          { radRadial RadioButton
            MoveScaled(21,0,19,4)
            AutoResize = True
            Text = ("Radial gradient")
          }
        }
        { Panel2 Panel
          MoveScaled(0,5,47,12)
          Arrangement = Arrange.Vertical
          Border = Border.Plain
          { dwgGradientColor DrawingArea
            MoveScaled(0,0,47,6)
            Expand = True
            Focus = True
          }
          { Separator2 Separator
            MoveScaled(23,7,12,0)
          }
          { HBox1 HBox
            MoveScaled(0,8,47,4)
            { btnAddGradient ToolButton
              MoveScaled(0,0,4,4)
              ToolTip = ("Add gradient stop")
              Picture = Picture["icon:/small/add"]
            }
            { btnRemoveGradient ToolButton
              MoveScaled(4,0,4,4)
              ToolTip = ("Remove gradient stop")
              Picture = Picture["icon:/small/remove"]
            }
            { btnColorGradient ToolButton
              MoveScaled(8,0,4,4)
              ToolTip = ("Select gradient stop color") & "..."
              Picture = Picture["icon:/small/color"]
            }
            { btnExchangeGradient ToolButton
              MoveScaled(12,0,4,4)
              ToolTip = ("Invert gradient")
              Picture = Picture["icon:/small/flip-h"]
            }
            { panRadius HBox
              MoveScaled(18,0,28,4)
              Expand = True
              Spacing = True
              { Separator1 Separator
                MoveScaled(0,0,1,4)
              }
              { btnResetRadius ToolButton
                MoveScaled(2,0,4,4)
                ToolTip = ("Invert gradient")
                Picture = Picture["icon:/small/zoom-normal"]
              }
              { Label3 Label
                MoveScaled(9,0,6,4)
                AutoResize = True
                Text = ("Radius")
              }
              { sldRadius Slider
                MoveScaled(15,0,13,4)
                Expand = True
                Value = 50
              }
            }
          }
        }
        { panGradient Panel
          MoveScaled(0,18,47,20)
          Expand = True
          Spacing = True
          { dwgGradient DrawingArea
            MoveScaled(0,0,35,20)
            Border = Border.Plain
          }
          { panGradientToolbar VBox
            MoveScaled(39,0,4,18)
            { btnRotateR ToolButton
              MoveScaled(0,0,4,4)
              ToolTip = ("Rotate clockwise")
              Picture = Picture["icon:/small/rotate-right"]
            }
            { btnRotateL ToolButton
              MoveScaled(0,4,4,4)
              ToolTip = ("Rotate counter-clockwise")
              Picture = Picture["icon:/small/rotate-left"]
            }
            { btnFlipV ToolButton
              MoveScaled(0,8,4,4)
              ToolTip = ("Vertical flip")
              Picture = Picture["icon:/small/flip-v"]
            }
            { btnFlipH ToolButton
              MoveScaled(0,12,4,4)
              ToolTip = ("Horizontal flip")
              Picture = Picture["icon:/small/flip-h"]
            }
          }
        }
      }
      { Separator7 Separator
        MoveScaled(13,41,17,0)
      }
      { Panel9 Panel
        MoveScaled(5,42,46,6)
        Arrangement = Arrange.Fill
        Margin = True
        { dwgGradientStack DrawingArea
          MoveScaled(0,0,45,4)
          Mouse = Cursor.Pointing
        }
      }
      Index = 2
      Text = ("Clipboard")
      { gvwClipboard GridView
        MoveScaled(1,4,59,19)
        Mouse = Cursor.Pointing
        Expand = True
        Border = False
        Mode = Select.Single
        Grid = False
        ScrollBar = Scroll.Vertical
      }
      Index = 3
      Text = ("Shapes")
      { panSelection ToolBar
        MoveScaled(2,2,54,4)
        Key = "image-shape"
        ReadOnly = True
        { btnZoomIn ToolButton
          MoveScaled(0,0,4,4)
          Action = "shape-zoom-in"
          Picture = Picture["icon:/small/zoom-in"]
        }
        { btnZoomOut ToolButton
          MoveScaled(4,0,4,4)
          Action = "shape-zoom-out"
          Picture = Picture["icon:/small/zoom-out"]
        }
        { Separator11 Separator
          MoveScaled(8,0,2,4)
        }
        { btnRefreshShapes ToolButton
          MoveScaled(11,0,4,4)
          ToolTip = ("Clear shapes")
          Action = "shape-refresh"
          Picture = Picture["icon:/small/refresh"]
        }
        { btnSaveShapes ToolButton
          MoveScaled(15,0,4,4)
          ToolTip = ("Save shapes")
          Action = "shape-save"
          Picture = Picture["icon:/small/save"]
        }
        { btnLoadShapes ToolButton
          MoveScaled(19,0,4,4)
          ToolTip = ("Load shapes")
          Action = "shape-load"
          Picture = Picture["icon:/small/open"]
        }
        { btnClearSelection ToolButton
          MoveScaled(23,0,4,4)
          ToolTip = ("Clear shapes")
          Action = "shape-clear"
          Picture = Picture["icon:/small/trash"]
        }
      }
      { Separator10 Separator
        MoveScaled(14,8,24,0)
      }
      { svwSelection ScrollView
        MoveScaled(5,13,47,29)
        Background = Color.TextBackground
        Expand = True
        Arrangement = Arrange.Row
        Spacing = True
        Margin = True
        Border = False
      }
      Index = 0
    }
    { Separator6 Separator
      MoveScaled(20,54,15,0)
    }
    { tlbAction ToolBar
      MoveScaled(2,55,56,4)
      Key = "image-action"
      ReadOnly = True
      Separator = True
      { btnStroke ToolButton btnAction
        Name = "btnStroke"
        MoveScaled(0,0,4,4)
        Tag = "stroke"
        ToolTip = ("Stroke")
        Action = "stroke"
        Picture = Picture["icon:/small/stroke"]
      }
      { btnFill ToolButton btnAction
        Name = "btnFill"
        MoveScaled(4,0,4,4)
        Tag = "fill"
        ToolTip = ("Fill")
        Action = "fill"
        Picture = Picture["icon:/small/fill"]
      }
      { btnClear ToolButton btnAction
        Name = "btnClear"
        MoveScaled(8,0,4,4)
        Tag = "clear"
        ToolTip = ("Clear")
        Action = "erase"
        Picture = Picture["icon:/small/delete"]
      }
      { Separator9 Separator
        MoveScaled(12,0,1,4)
      }
      { btnColorize ToolButton btnAction
        Name = "btnColorize"
        MoveScaled(13,0,4,4)
        Tag = "colorize"
        ToolTip = ("Colorize")
        Action = "colorize"
        Picture = Picture["icon:/small/color"]
      }
      { btnDesaturate ToolButton btnAction
        Name = "btnDesaturate"
        MoveScaled(16,0,4,4)
        Tag = "desaturate"
        ToolTip = ("Desaturate")
        Action = "desaturate"
        Picture = Picture["icon:/small/saturation"]
      }
      { btnTransparent ToolButton btnAction
        Name = "btnTransparent"
        MoveScaled(20,0,4,4)
        Tag = "transparent"
        ToolTip = ("Make transparent")
        Action = "transparent"
        Picture = Picture["icon:/small/transparency"]
      }
      { btnDarkTheme ToolButton btnAction
        Name = "btnDarkTheme"
        MoveScaled(24,0,4,4)
        Tag = "invert"
        ToolTip = ("Invert colors for dark themes")
        Action = "dark-theme"
        Picture = Picture["icon:/small/image-invert"]
      }
      { Separator5 Separator
        MoveScaled(35,0,1,4)
      }
      { btnLineCap ToolButton
        MoveScaled(37,0,4,4)
        ToolTip = ("Line cap")
        Action = "line-cap"
      }
      { btnLineJoin ToolButton
        MoveScaled(43,0,4,4)
        ToolTip = ("Line join")
        Action = "line-join"
      }
      { btnFillRule ToolButton
        MoveScaled(49,0,4,4)
        ToolTip = ("Fill rule")
        Action = "fill-rule"
      }
    }
    { panSlider VBox
      MoveScaled(1,60,63,9)
      Font = Font["-1"]
      Margin = True
      { HPanel1 HBox
        MoveScaled(0,0,62,3)
        { Label1 Label
          MoveScaled(0,0,13,3)
          Text = ("Opacity")
        }
        { slbOpacity SliderBox
          MoveScaled(18,0,38,3)
          Expand = True
          Picture = Picture["icon:/huge/opacity"]
          MaxValue = 255
          Step = 32
          DefaultValue = 255
          Value = 255
        }
      }
      { HPanel2 HBox
        MoveScaled(0,3,62,3)
        { Label2 Label
          MoveScaled(0,0,13,3)
          Text = ("Size")
        }
        { slbSize SliderBox
          MoveScaled(18,0,38,3)
          Expand = True
          Picture = Picture["icon:/huge/line-width"]
          MaxValue = 256
          Step = 2
        }
      }
      { panOperator HBox
        MoveScaled(0,6,62,3)
        { Label13 Label
          MoveScaled(0,0,13,3)
          Text = ("Operation")
        }
        { PictureBox1 PictureBox
          MoveScaled(18,0,3,3)
          Padding = 3
          Picture = Picture.Load("icon:/huge/exec")
          Stretch = True
        }
        { Panel12 Panel
          MoveScaled(23,0,1,3)
        }
        { cmbOperator ComboBox
          MoveScaled(27,0,28,3)
          Expand = True
          ReadOnly = True
          List = [("Clear destination"), ("Keep source"), ("Draw source on top of destination"), ("Replace destination by source"), ("Clear source with destination"), ("Draw source on destination only"), ("Keep destination"), ("Draw source above destination"), ("Replace source by destination"), ("Clear destination with source"), ("Draw destination on source only"), ("Keep source or destination alone"), ("Add source and destination"), ("Multiply source and destination")]
        }
      }
    }
    { sepSlider Separator
      MoveScaled(15,70,26,0)
    }
    { panSliderSel VBox
      MoveScaled(1,71,63,12)
      Font = Font["-1"]
      Margin = True
      { panTolerance HBox
        MoveScaled(0,0,62,3)
        { Label4 Label
          MoveScaled(0,0,13,3)
          Text = ("Tolerance")
        }
        { slbTolerance SliderBox
          MoveScaled(18,0,38,3)
          Expand = True
          Picture = Picture["icon:/huge/percent"]
          MaxValue = 128
          Step = 8
          DefaultValue = 32
          Value = 32
        }
      }
      { panRoundness HBox
        MoveScaled(0,3,62,3)
        { Label14 Label
          MoveScaled(0,0,13,3)
          Text = ("Roundness")
        }
        { slbRoundness SliderBox
          MoveScaled(18,0,38,3)
          Expand = True
          Picture = Picture["icon:/huge/draw-round"]
          MaxValue = 256
          Step = 2
        }
      }
      { panSides HBox
        MoveScaled(0,6,62,3)
        { Label16 Label
          MoveScaled(0,0,13,3)
          Text = ("Sides")
        }
        { slbSides SliderBox
          MoveScaled(18,0,38,3)
          Expand = True
          Picture = Picture["icon:/huge/draw-polygon"]
          MinValue = 3
          MaxValue = 360
          DefaultValue = 5
          Value = 5
        }
      }
      { panInnerRadius HBox
        MoveScaled(0,9,62,3)
        { Label17 Label
          MoveScaled(0,0,13,3)
          Text = ("Inner radius")
        }
        { slbInnerRadius SliderBox
          MoveScaled(18,0,38,3)
          Expand = True
          Picture = Picture["icon:/huge/draw-star"]
          Step = 10
        }
      }
    }
    { Separator3 Separator
      MoveScaled(19,84,26,0)
    }
    { panText VBox
      MoveScaled(1,85,60,26)
      Visible = False
      { panTextLayout ToolBar
        MoveScaled(1,1,58,4)
        Key = "image-text"
        ReadOnly = True
        Separator = True
        { btnTextLeft ToolButton btnTextAlign
          Name = "btnTextLeft"
          MoveScaled(0,0,4,4)
          ToolTip = ("Left align")
          Action = "text-left"
          Picture = Picture["icon:/small/text-left"]
          Toggle = True
          Value = True
        }
        { btnTextCenter ToolButton btnTextAlign
          Name = "btnTextCenter"
          MoveScaled(4,0,4,4)
          ToolTip = ("Centered")
          Action = "text-center"
          Picture = Picture["icon:/small/text-center"]
          Toggle = True
        }
        { btnTextRight ToolButton btnTextAlign
          Name = "btnTextRight"
          MoveScaled(8,0,4,4)
          ToolTip = ("Right align")
          Action = "text-right"
          Picture = Picture["icon:/small/text-right"]
          Toggle = True
        }
        { Separator12 Separator
          MoveScaled(13,0,1,4)
        }
        { btnTextTop ToolButton btnTextAlign
          Name = "btnTextTop"
          MoveScaled(17,0,4,4)
          ToolTip = ("Top align")
          Action = "text-top"
          Picture = Picture["icon:/small/text-top"]
          Toggle = True
        }
        { btnTextMiddle ToolButton btnTextAlign
          Name = "btnTextMiddle"
          MoveScaled(21,0,4,4)
          ToolTip = ("Middle align")
          Action = "text-middle"
          Picture = Picture["icon:/small/text-middle"]
          Toggle = True
          Value = True
        }
        { btnTextBase ToolButton btnTextAlign
          Name = "btnTextBase"
          MoveScaled(25,0,4,4)
          ToolTip = ("Baseline align")
          Action = "text-base"
          Picture = Picture["icon:/small/text-baseline"]
          Toggle = True
        }
        { btnTextBottom ToolButton btnTextAlign
          Name = "btnTextBottom"
          MoveScaled(29,0,4,4)
          ToolTip = ("Bottom align")
          Action = "text-bottom"
          Picture = Picture["icon:/small/text-bottom"]
          Toggle = True
        }
      }
      { Panel11 VBox
        MoveScaled(1,6,57,19)
        Expand = True
        Spacing = True
        Margin = True
        { fchText FontChooser
          MoveScaled(0,0,55,8)
          Border = False
          ShowRelative = False
        }
        { txtText TextArea
          MoveScaled(0,9,54,7)
          Expand = True
        }
      }
    }
    { sepText Separator
      MoveScaled(21,112,15,0)
    }
    { Panel13 Panel
      MoveScaled(1,113,64,33)
      Arrangement = Arrange.Vertical
      Margin = True
      { panEffect Expander
        MoveScaled(1,0,62,33)
        Arrangement = Arrange.Vertical
        Border = False
        Text = ("Effects")
        TextFont = Font["Bold"]
        Animated = True
        Hidden = True
        { HPanel4 HBox
          MoveScaled(0,0,59,3)
          Font = Font["-1"]
          { Label5 Label
            MoveScaled(0,0,13,3)
            Text = ("Brightness")
          }
          { slbBrightness SliderBox slbValue
            Name = "slbBrightness"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/brightness"]
            MinValue = -255
            MaxValue = 255
            Step = 16
          }
        }
        { HPanel5 HBox
          MoveScaled(0,3,59,3)
          Font = Font["-1"]
          { Label6 Label
            MoveScaled(0,0,13,3)
            Text = ("Contrast")
          }
          { slbContrast SliderBox slbValue
            Name = "slbContrast"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/contrast"]
            MinValue = -255
            MaxValue = 255
            Step = 16
          }
        }
        { HPanel8 HBox
          MoveScaled(0,6,59,3)
          Font = Font["-1"]
          { Label9 Label
            MoveScaled(0,0,13,3)
            Text = ("Gamma")
          }
          { slbGamma SliderBox slbValue
            Name = "slbGamma"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/gamma"]
            MinValue = -255
            MaxValue = 255
            Step = 16
          }
        }
        { HPanel9 HBox
          MoveScaled(0,9,59,3)
          Font = Font["-1"]
          { Label10 Label
            MoveScaled(0,0,13,3)
            Text = ("Lightness")
          }
          { slbLightness SliderBox slbValue
            Name = "slbLightness"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/lightness"]
            MinValue = -255
            MaxValue = 255
            Step = 16
          }
        }
        { HPanel6 HBox
          MoveScaled(0,12,59,3)
          Font = Font["-1"]
          { Label7 Label
            MoveScaled(0,0,13,3)
            Text = ("Hue")
          }
          { slbHue SliderBox slbValue
            Name = "slbHue"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/hue"]
            MinValue = -255
            MaxValue = 255
            Step = 16
          }
        }
        { HPanel7 HBox
          MoveScaled(0,15,59,3)
          Font = Font["-1"]
          { Label8 Label
            MoveScaled(0,0,13,3)
            Text = ("Saturation")
          }
          { slbSaturation SliderBox slbValue
            Name = "slbSaturation"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/saturation"]
            MinValue = -255
            MaxValue = 255
            Step = 16
          }
        }
        { HPanel10 HBox
          MoveScaled(0,18,59,3)
          Font = Font["-1"]
          { Label11 Label
            MoveScaled(0,0,13,3)
            Text = ("Blur")
          }
          { slbBlur SliderBox slbValue
            Name = "slbBlur"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/blur"]
            MaxValue = 127
          }
        }
        { HPanel3 HBox
          MoveScaled(0,21,59,3)
          Font = Font["-1"]
          { Label15 Label
            MoveScaled(0,0,13,3)
            Text = ("Transparency")
          }
          { slbTransparency SliderBox slbValue
            Name = "slbTransparency"
            MoveScaled(19,0,40,3)
            Expand = True
            Picture = Picture["icon:/huge/transparency"]
            MaxValue = 255
            Step = 16
          }
        }
        { Panel7 Panel
          MoveScaled(21,24,5,1)
        }
        { HBox3 HBox
          MoveScaled(0,25,58,4)
          Spacing = True
          { chkBalancePreview CheckBox
            MoveScaled(0,0,14,4)
            Visible = False
            Text = ("Preview")
            Value = CheckBox.True
          }
          { Panel6 Panel
            MoveScaled(22,0,2,4)
            Expand = True
          }
          { btnBalanceReset Button
            MoveScaled(28,0,14,4)
            AutoResize = True
            Text = ("Reset")
            Picture = Picture["icon:/small/undo"]
          }
          { btnBalanceApply Button
            MoveScaled(43,0,14,4)
            AutoResize = True
            Text = Shortcut(("Apply"), "A")
            Picture = Picture["icon:/small/apply"]
          }
        }
      }
    }
    { sepGrid Separator
      MoveScaled(19,170,15,0)
    }
    { panGrid VBox
      MoveScaled(2,171,62,15)
      Visible = False
      Margin = True
      { Panel1 HBox
        MoveScaled(1,1,57,4)
        { Label12 Label
          MoveScaled(0,0,26,4)
          Text = ("Grid resolution")
        }
        { txtGridRes SliderBox
          MoveScaled(31,0,20,4)
          Expand = True
          MinValue = 4
          MaxValue = 128
          Step = 4
          Value = 64
        }
        { btnLockGrid ToolButton
          MoveScaled(52,0,4,4)
          ToolTip = ("Lock grid configuration")
          Picture = Picture["icon:/small/lock"]
          Toggle = True
        }
      }
      { Panel5 HBox
        MoveScaled(1,5,57,4)
        { chkGridSnap CheckBox
          MoveScaled(0,0,26,4)
          Text = ("Grid snap")
        }
        { txtGridSnap SliderBox
          MoveScaled(27,0,24,4)
          Expand = True
          MinValue = 1
          MaxValue = 512
          Step = 8
          Value = 8
        }
        { Panel10 Panel
          MoveScaled(52,0,4,4)
        }
      }
    }
  }
}

# Gambas Action File 3.0

{ Actions
  { Action colorize
    Text = "Colorize"
    Picture = "icon:/small/color"
  }
  { Action dark-theme
    Text = "Invert colors for dark themes"
    Picture = "icon:/small/image-invert"
  }
  { Action desaturate
    Text = "Desaturate"
    Picture = "icon:/small/saturation"
  }
  { Action erase
    Text = "Clear"
    Picture = "icon:/small/delete"
  }
  { Action fill
    Text = "Fill"
    Picture = "icon:/small/fill"
  }
  { Action fill-rule
    Text = "Fill rule"
    Picture = "$ToolButton"
  }
  { Action line-cap
    Text = "Line cap"
    Picture = "$ToolButton"
  }
  { Action line-join
    Text = "Line join"
    Picture = "$ToolButton"
  }
  { Action shape-clear
    Text = "Clear shapes"
    Picture = "icon:/small/trash"
  }
  { Action shape-load
    Text = "Load shapes"
    Picture = "icon:/small/open"
  }
  { Action shape-refresh
    Text = "Clear shapes"
    Picture = "icon:/small/refresh"
  }
  { Action shape-save
    Text = "Save shapes"
    Picture = "icon:/small/save"
  }
  { Action shape-zoom-in
    Text = ""
    Picture = "icon:/small/zoom-in"
  }
  { Action shape-zoom-out
    Text = ""
    Picture = "icon:/small/zoom-out"
  }
  { Action stroke
    Text = "Stroke"
    Picture = "icon:/small/stroke"
  }
  { Action text-base
    Text = "Baseline align"
    Picture = "icon:/small/text-baseline"
  }
  { Action text-bottom
    Text = "Bottom align"
    Picture = "icon:/small/text-bottom"
  }
  { Action text-center
    Text = "Centered"
    Picture = "icon:/small/text-center"
  }
  { Action text-left
    Text = "Left align"
    Picture = "icon:/small/text-left"
  }
  { Action text-middle
    Text = "Middle align"
    Picture = "icon:/small/text-middle"
  }
  { Action text-right
    Text = "Right align"
    Picture = "icon:/small/text-right"
  }
  { Action text-top
    Text = "Top align"
    Picture = "icon:/small/text-top"
  }
  { Action transparent
    Text = "Make transparent"
    Picture = "icon:/small/transparency"
  }
}

{ Toolbars
  { Toolbar image-action
    Text = ""
    List = "stroke,fill,erase,colorize,desaturate,transparent,dark-theme,line-cap,line-join,fill-rule"
    Default = "stroke,fill,erase,|,colorize,desaturate,transparent,dark-theme,|,line-cap,line-join,fill-rule"
  }
  { Toolbar image-shape
    Text = ""
    List = "shape-zoom-in,shape-zoom-out,shape-refresh,shape-save,shape-load,shape-clear"
    Default = "shape-zoom-in,shape-zoom-out,|,shape-refresh,shape-save,shape-load,shape-clear"
  }
  { Toolbar image-text
    Text = ""
    List = "text-left,text-center,text-right,text-top,text-middle,text-base,text-bottom"
    Default = "text-left,text-center,text-right,|,text-top,text-middle,text-base,text-bottom"
  }
}
