ソースを参照

Added SVG Button.

lainz 7 年 前
コミット
84c34d59e5

+ 12 - 0
README.md

@@ -80,6 +80,18 @@ A progress bar with radial style. You can set the color and text properties as y
 
 Author: Lainz.
 
+### TBCSVGButton
+
+Button made with SVG images for each state. Based on the SVG Viewer.
+
+Author: Josh.
+
+### TBCSVGViewer
+
+SVG viewer with several options.
+
+Author: Lainz, Circular.
+
 ### TBCToolBar
 
 A TToolBar with an event OnRedraw to paint it using BGRABitmap. It supports also the default OnPaintButton to customize the buttons drawing. By default it comes with a Windows 7 like explorer toolbar style.

+ 373 - 0
bcsvgbutton.pas

@@ -0,0 +1,373 @@
+{ A Graphic Button Control that uses SVG images as the button states
+  for Normal,Hover and DOWN states.
+
+  Copyright (C) 2018 User Josh on Lazarus Forum.
+
+  You can use the SVGDOWNXML property to enter the SVG XML code to create the
+  image or You can enter the full svg image file and pathname into the properties
+  FileNameDown; it will then read in the File Information and place it in the
+  SVGDownXML Property.
+
+  This Component uses the BGRABITMAP and BGRACONTROLS Framework to implement
+  the Button's Functionality
+
+  This library is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Library General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or (at your
+  option) any later version with the following modification:
+
+  As a special exception, the copyright holders of this library give you
+  permission to link this library with independent modules to produce an
+  executable, regardless of the license terms of these independent modules,and
+  to copy and distribute the resulting executable under terms of your choice,
+  provided that you also meet, for each linked independent module, the terms
+  and conditions of the license of that module. An independent module is a
+  module which is not derived from or based on this library. If you modify
+  this library, you may extend this exception to your version of the library,
+  but you are not obligated to do so. If you do not wish to do so, delete this
+  exception statement from your version.
+
+  This program 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 Library General Public License
+  for more details.
+
+  You should have received a copy of the GNU Library General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+}
+
+unit BCSVGButton;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, BCSVGViewer,LResources,lazutils;
+
+type
+
+  SVGButtonState = (MouseIn, MouseOut, Pressed);
+
+  TBCSVGButton = class(TBCSVGViewer)
+  private
+    fsvgnormal:tstrings;
+    fsvghover:tstrings;
+    fsvgdown:tstrings;
+    fdown:boolean;
+    FState:SVGButtonState;
+    FOwner: TComponent;
+    FFileNameHover: String;
+    FFileNameNormal: String;
+    FFileNameDown: String;
+    FPosition: Integer;
+    FMax: Integer;
+    FInfo1: String;
+    FInfo2: String;
+  //  property OnPositionChange;
+    procedure setdown(AValue: boolean);
+    procedure ReadSVGFileAndSetString(fn:String;itm:Integer);
+    procedure GenerateCompletedSVGImage(AValue: string);
+  protected
+    FOnPositionChange: TNotifyEvent;
+    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
+      MX, MY: integer); override;
+    procedure MouseUp(Button: TMouseButton; Shift: TShiftState; MX, MY: integer); override;
+    procedure MouseEnter; override;
+    procedure MouseLeave; override;
+    procedure setsvghoverxml(const AValue: tstrings);
+    procedure setsvgnormalxml(const AValue: tstrings);
+    procedure setsvgdownxml(const AValue: tstrings);
+    procedure setFFileNameDown(const AValue: string);
+    procedure setFFileNameHover(const AValue: string);
+    procedure setFFileNameNormal(const AValue: string);
+    procedure SetInfo1(const AValue:String);
+    procedure SetInfo2(const AValue:String);
+    procedure Setposition(const AValue:Integer);
+    procedure SetMax(const AValue:Integer);
+    procedure RedrawBitmapContent; override;
+  public
+    constructor Create(AOwner: TComponent); override;
+    destructor Destroy; override;
+    procedure paint; override;
+  published
+    Property FileNameDown : String Read FFileNameDown Write setFFileNameDown;
+    Property FileNameHover : String Read FFileNameHover Write setFFileNameHover;
+    Property FileNameNormal : String Read FFileNameNormal Write setFFileNameNormal;
+    property SVGNormalXML:tstrings read fsvgnormal write setsvgnormalxml;
+    property SVGHoverXML:tstrings read fsvghover write setsvghoverxml;
+    property SVGDownXML:tstrings read fsvgdown write setsvgdownxml;
+    property Down:boolean read fdown write setdown default false;
+    property Information1:string read FInfo1 write SetInfo1;
+    property Information2:string read FInfo2 write SetInfo2;
+    property Position:integer read fposition write SetPosition;
+    property Maximum:integer read fmax write SetMax;
+    property OnPositionChange: TNotifyEvent read FOnPositionChange write FOnPositionChange;
+
+  end;
+
+procedure Register;
+
+implementation
+
+procedure TBCSVGButton.Paint;
+begin
+  inherited Paint;
+end;
+
+constructor TBCSVGButton.Create(AOwner: TComponent);
+begin
+  inherited Create(AOwner);
+  FOwner := AOwner;
+  fsvgnormal :=  TStringList.Create;
+  fsvghover :=  TStringList.Create;
+  fsvgdown :=  TStringList.Create;
+  FState := MouseOut;
+end;
+
+destructor TBCSVGButton.Destroy;
+begin
+  fsvghover.Free;
+  fsvghover := nil;
+  fsvgnormal.Free;
+  fsvgnormal := nil;
+  fsvgdown.Free;
+  fsvgdown := nil;
+  inherited Destroy;
+end;
+
+//FSVG.CreateFromString(fsvgnormal.Text);
+procedure TBCSVGButton.GenerateCompletedSVGImage(AValue: string);
+begin
+  FSVG.CreateFromString(AValue);
+end;
+
+procedure TBCSVGButton.ReadSVGFileAndSetString(fn:String;itm:Integer);
+var li,st:ansistring;
+    F:Text;
+
+begin
+  li:='';
+  st:='';
+  if  fileexists(fn) then
+  begin
+    AssignFile(F,fn);
+    {$I-}
+    Reset(F);
+    {$I+}
+    If (IoResult = 0) Then
+    Begin
+      While Not(EoF(F)) Do
+      Begin
+        ReadLn(F,Li);
+        st:=st+li;
+        If (EoF(F)) Then Break;
+      End;
+    End;
+    CloseFile(F);
+  end else showmessage('File Not Found');
+  case itm of
+    0:begin
+        if st<>'' then fsvgNormal.Text:=st;
+        FFileNameNormal:='';
+      end;
+    1:Begin
+        if st<>'' then fsvgHover.Text:=st;
+        FFileNameHover:='';
+      End;
+    2:Begin
+        if st<>'' then fsvgDown.Text:=st;
+        FFileNameDown:='';
+      ENd;
+  end;
+  if st<>'' then RedrawBitmap;
+End;
+
+procedure TBCSVGButton.SetInfo1(const AValue: string);
+begin
+  If AValue<>'' then FInfo1:=AValue;
+end;
+
+procedure TBCSVGButton.SetInfo2(const AValue: string);
+begin
+  If AValue<>'' then FInfo2:=AValue;
+end;
+
+procedure TBCSVGButton.setposition(const AValue: Integer);
+begin
+  If AValue<>FPosition then
+  begin
+    FPosition:=AValue;
+    if assigned(FOnPositionChange) then FOnPositionChange(self);
+  end;
+end;
+
+procedure TBCSVGButton.setmax(const AValue: Integer);
+begin
+  If AValue<>Fmax then Fmax:=AValue;
+end;
+
+procedure TBCSVGButton.setFFileNameNormal(const AValue: string);
+begin
+  If AValue<>'' then ReadSVGFileAndSetString(AValue,0);
+end;
+
+procedure TBCSVGButton.setFFileNameHover(const AValue: string);
+begin
+  If AValue<>'' then ReadSVGFileAndSetString(Avalue,1);
+end;
+
+procedure TBCSVGButton.setFFileNameDown(const AValue: string);
+var li,st:ansistring;
+    F:Text;
+begin
+  If AValue<>'' then ReadSVGFileAndSetString(Avalue,2);
+End;
+
+procedure TBCSVGButton.setsvgnormalxml(const AValue: tstrings);
+begin
+  if fsvgnormal.Text = AValue.Text then
+    Exit;
+  fsvgnormal.Assign(AValue);
+  DiscardBitmap;
+  if FDown=false then if fsvgnormal.Text<>'' then GenerateCompletedSVGImage(fsvgnormal.Text);
+  RedrawBitmap;
+ // if not fdown then RedrawBitmap;
+end;
+
+procedure TBCSVGButton.setsvghoverxml(const AValue: tstrings);
+begin
+  if fsvghover.Text = AValue.Text then
+    Exit;
+  fsvghover.Assign(AValue);
+  DiscardBitmap;
+end;
+
+procedure TBCSVGButton.setsvgdownxml(const AValue: tstrings);
+begin
+  if fsvgdown.Text = AValue.Text then
+    Exit;
+  fsvgdown.Assign(AValue);
+  DiscardBitmap;
+  if FDown then
+  begin
+    if fsvgdown.Text<>'' then GenerateCompletedSVGImage(fsvgdown.Text);
+    RedrawBitmap;
+  end;
+end;
+
+procedure TBCSVGButton.setdown(AValue: boolean);
+begin
+  if fdown = AValue then
+    Exit;
+  fdown := AValue;
+  if fdown=false then Fstate:=MouseOut;
+  DiscardBitmap;
+  if FDown then
+  begin
+    if fsvgdown.Text<>'' then GenerateCompletedSVGImage(fsvgdown.Text);
+  end
+  else
+  begin
+    if fsvgnormal.Text<>'' then GenerateCompletedSVGImage(fsvgnormal.Text);
+  end;
+  RedrawBitmap;
+end;
+
+procedure TBCSVGButton.MouseDown(Button: TMouseButton; Shift: TShiftState;
+  MX, MY: integer);
+begin
+  inherited MouseDown(Button, Shift, MX, MY);
+  if csDesigning in ComponentState then
+    exit;
+
+  if (Button = mbLeft) and Enabled then
+  begin
+    FState := Pressed;
+    if fsvgdown.Text<>'' then GenerateCompletedSVGImage(fsvgdown.Text);
+//    RedrawBitmapContent;
+    RedrawBitmap;
+  end;
+end;
+
+procedure TBCSVGButton.MouseUp(Button: TMouseButton; Shift: TShiftState;
+  MX, MY: integer);
+begin
+  inherited MouseUp(Button, Shift, MX, MY);
+
+  if csDesigning in ComponentState then exit;
+
+  if (Button = mbLeft) and Enabled then
+  begin
+    if FDown then
+    begin
+      if fsvgdown.Text<>'' then GenerateCompletedSVGImage(fsvgdown.Text)
+    end
+    else
+    begin
+      if fsvghover.Text<>'' then GenerateCompletedSVGImage(fsvghover.Text);
+    end;
+    FState := MouseIn;
+ //   RedrawBitmapContent;
+    RedrawBitmap;
+  end;
+end;
+
+procedure TBCSVGButton.MouseEnter;
+begin
+  if csDesigning in ComponentState then exit;
+
+  inherited MouseEnter;
+
+  if fsvghover.Text<>'' then GenerateCompletedSVGImage(fsvghover.Text);
+  FState := MouseIn;
+ // RedrawBitmapContent;
+  RedrawBitmap;
+
+end;
+
+procedure TBCSVGButton.MouseLeave;
+begin
+  inherited MouseLeave;
+  if csDesigning in ComponentState then
+    exit;
+  if FDown then
+  begin
+    if fsvgdown.Text<>'' then GenerateCompletedSVGImage(fsvgdown.Text)
+  end
+  else
+  begin
+    if fsvgnormal.Text<>'' then GenerateCompletedSVGImage(fsvgnormal.Text);
+  end;
+  FState := MouseOut;
+//  RedrawBitmapContent;
+  RedrawBitmap;
+
+end;
+
+procedure TBCSVGButton.RedrawBitmapContent;
+begin
+  if FDown then
+  begin
+    if fsvgdown.Text<>'' then GenerateCompletedSVGImage(fsvgdown.Text)
+  end
+  else
+  begin
+    case fstate of
+      mousein :if fsvghover.Text<>'' then GenerateCompletedSVGImage(fsvghover.Text);
+      mouseout:if fsvgnormal.Text<>'' then GenerateCompletedSVGImage(fsvgnormal.Text);
+    end;
+  end;
+  inherited RedrawBitmapContent;
+end;
+
+procedure Register;
+begin
+  {$I icons\bcsvgbutton.lrs}
+  RegisterComponents('BGRA Controls',[TBCSVGButton]);
+end;
+
+
+
+end.

+ 56 - 51
bgracontrols.lpk

@@ -25,8 +25,8 @@
     </CompilerOptions>
     <Description Value="BGRA Controls is a set of graphical UI elements that you can use with Lazarus LCL applications."/>
     <License Value="Modified LGPL"/>
-    <Version Major="4" Minor="6" Release="1"/>
-    <Files Count="44">
+    <Version Major="4" Minor="6" Release="2"/>
+    <Files Count="45">
       <Item1>
         <Filename Value="bcbasectrls.pas"/>
         <AddToUsesPkgSection Value="False"/>
@@ -118,129 +118,134 @@
         <UnitName Value="BCStylesForm"/>
       </Item19>
       <Item20>
-        <Filename Value="bcsvgviewer.pas"/>
+        <Filename Value="bcsvgbutton.pas"/>
         <HasRegisterProc Value="True"/>
-        <UnitName Value="BCSVGViewer"/>
+        <UnitName Value="BCSVGButton"/>
       </Item20>
       <Item21>
+        <Filename Value="bcsvgviewer.pas"/>
+        <HasRegisterProc Value="True"/>
+        <UnitName Value="BCSVGViewer"/>
+      </Item21>
+      <Item22>
         <Filename Value="bcthememanager.pas"/>
         <AddToUsesPkgSection Value="False"/>
         <UnitName Value="BCThemeManager"/>
-      </Item21>
-      <Item22>
+      </Item22>
+      <Item23>
         <Filename Value="bctoolbar.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BCToolBar"/>
-      </Item22>
-      <Item23>
+      </Item23>
+      <Item24>
         <Filename Value="bctools.pas"/>
         <AddToUsesPkgSection Value="False"/>
         <UnitName Value="BCTools"/>
-      </Item23>
-      <Item24>
+      </Item24>
+      <Item25>
         <Filename Value="bctrackbarupdown.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BCTrackbarUpdown"/>
-      </Item24>
-      <Item25>
+      </Item25>
+      <Item26>
         <Filename Value="bctypes.pas"/>
         <AddToUsesPkgSection Value="False"/>
         <UnitName Value="BCTypes"/>
-      </Item25>
-      <Item26>
+      </Item26>
+      <Item27>
         <Filename Value="bgracustomdrawn.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRACustomDrawn"/>
-      </Item26>
-      <Item27>
+      </Item27>
+      <Item28>
         <Filename Value="bgraflashprogressbar.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAFlashProgressBar"/>
-      </Item27>
-      <Item28>
+      </Item28>
+      <Item29>
         <Filename Value="bgragraphiccontrol.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAGraphicControl"/>
-      </Item28>
-      <Item29>
+      </Item29>
+      <Item30>
         <Filename Value="bgraimagelist.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAImageList"/>
-      </Item29>
-      <Item30>
+      </Item30>
+      <Item31>
         <Filename Value="bgraimagemanipulation.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAImageManipulation"/>
-      </Item30>
-      <Item31>
+      </Item31>
+      <Item32>
         <Filename Value="bgraknob.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAKnob"/>
-      </Item31>
-      <Item32>
+      </Item32>
+      <Item33>
         <Filename Value="bgraresizespeedbutton.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAResizeSpeedButton"/>
-      </Item32>
-      <Item33>
+      </Item33>
+      <Item34>
         <Filename Value="bgrashape.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAShape"/>
-      </Item33>
-      <Item34>
+      </Item34>
+      <Item35>
         <Filename Value="bgraspeedbutton.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRASpeedButton"/>
-      </Item34>
-      <Item35>
+      </Item35>
+      <Item36>
         <Filename Value="bgraspriteanimation.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRASpriteAnimation"/>
-      </Item35>
-      <Item36>
+      </Item36>
+      <Item37>
         <Filename Value="bgravirtualscreen.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="BGRAVirtualScreen"/>
-      </Item36>
-      <Item37>
+      </Item37>
+      <Item38>
         <Filename Value="colorspeedbutton.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="ColorSpeedButton"/>
-      </Item37>
-      <Item38>
+      </Item38>
+      <Item39>
         <Filename Value="dtanalogclock.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="DTAnalogClock"/>
-      </Item38>
-      <Item39>
+      </Item39>
+      <Item40>
         <Filename Value="dtanalogcommon.pp"/>
         <AddToUsesPkgSection Value="False"/>
         <UnitName Value="DTAnalogCommon"/>
-      </Item39>
-      <Item40>
+      </Item40>
+      <Item41>
         <Filename Value="dtanaloggauge.pp"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="DTAnalogGauge"/>
-      </Item40>
-      <Item41>
+      </Item41>
+      <Item42>
         <Filename Value="dtthemedclock.pas"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="dtthemedclock"/>
-      </Item41>
-      <Item42>
+      </Item42>
+      <Item43>
         <Filename Value="dtthemedgauge.pp"/>
         <HasRegisterProc Value="True"/>
         <UnitName Value="dtthemedgauge"/>
-      </Item42>
-      <Item43>
-        <Filename Value="materialcolors.pas"/>
-        <UnitName Value="MaterialColors"/>
       </Item43>
       <Item44>
+        <Filename Value="materialcolors.pas"/>
+        <UnitName Value="MaterialColors"/>
+      </Item44>
+      <Item45>
         <Filename Value="mouseandkeyinput/mouseandkeyinput.pas"/>
         <AddToUsesPkgSection Value="False"/>
         <UnitName Value="MouseAndKeyInput"/>
-      </Item44>
+      </Item45>
     </Files>
     <RequiredPkgs Count="2">
       <Item1>

+ 7 - 6
bgracontrols.pas

@@ -10,12 +10,12 @@ interface
 uses
   BCButton, BCButtonFocus, BCEffect, bcfilters, BCGameGrid, BCImageButton, 
   BCLabel, BCListBox, BCMaterialDesignButton, BCPanel, BCRadialProgressBar, 
-  BCRTTI, BCSamples, BCStylesForm, BCSVGViewer, BCToolBar, BCTrackbarUpdown, 
-  BGRACustomDrawn, BGRAFlashProgressBar, BGRAGraphicControl, BGRAImageList, 
-  BGRAImageManipulation, BGRAKnob, BGRAResizeSpeedButton, BGRAShape, 
-  BGRASpeedButton, BGRASpriteAnimation, BGRAVirtualScreen, ColorSpeedButton, 
-  DTAnalogClock, DTAnalogGauge, dtthemedclock, dtthemedgauge, MaterialColors, 
-  LazarusPackageIntf;
+  BCRTTI, BCSamples, BCStylesForm, BCSVGButton, BCSVGViewer, BCToolBar, 
+  BCTrackbarUpdown, BGRACustomDrawn, BGRAFlashProgressBar, BGRAGraphicControl, 
+  BGRAImageList, BGRAImageManipulation, BGRAKnob, BGRAResizeSpeedButton, 
+  BGRAShape, BGRASpeedButton, BGRASpriteAnimation, BGRAVirtualScreen, 
+  ColorSpeedButton, DTAnalogClock, DTAnalogGauge, dtthemedclock, 
+  dtthemedgauge, MaterialColors, LazarusPackageIntf;
 
 implementation
 
@@ -30,6 +30,7 @@ begin
   RegisterUnit('BCMaterialDesignButton', @BCMaterialDesignButton.Register);
   RegisterUnit('BCPanel', @BCPanel.Register);
   RegisterUnit('BCRadialProgressBar', @BCRadialProgressBar.Register);
+  RegisterUnit('BCSVGButton', @BCSVGButton.Register);
   RegisterUnit('BCSVGViewer', @BCSVGViewer.Register);
   RegisterUnit('BCToolBar', @BCToolBar.Register);
   RegisterUnit('BCTrackbarUpdown', @BCTrackbarUpdown.Register);

+ 229 - 0
icons/bcsvgbutton.lrs

@@ -0,0 +1,229 @@
+LazarusResources.Add('TBCSVGButton','PNG',[
+  #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0
+  +#0#0#25'tEXtSoftware'#0'Adobe ImageReadyq'#201'e<'#0#0#3'"iTXtXML:com.adobe.'
+  +'xmp'#0#0#0#0#0'<?xpacket begin="'#239#187#191'" id="W5M0MpCehiHzreSzNTczkc9'
+  +'d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 6'
+  +'6.145661, 2012/02/06-14:56:27        "> <rdf:RDF xmlns:rdf="http://www.w3.o'
+  +'rg/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="htt'
+  +'p://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xm'
+  +'lns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool='
+  +'"Adobe Photoshop CS6 (Windows)" xmpMM:InstanceID="xmp.iid:7942DC0C653C11E88'
+  +'CA88643307F7999" xmpMM:DocumentID="xmp.did:7942DC0D653C11E88CA88643307F7999'
+  +'"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:7942DC0A653C11E88CA88643307'
+  +'F7999" stRef:documentID="xmp.did:7942DC0B653C11E88CA88643307F7999"/> </rdf:'
+  +'Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>n'#155'Dt'#0#0#3'TI'
+  +'DATx'#218#236'U[h'#19'Y'#24#254'f2'#155'd&M'#210#214#180'I'#188'U{'#139#180
+  +'Zo'#213'R'#187#235#165'vw'#165#160'('#226#5#241#130#197#27#222#192#7'_DDPA'
+  +#31'tA'#145'u//'#251' '#184'Z*ED'#197#197'V'#197#138'TI'#189#212#214#154'K%'
+  +#209#198'6'#241#146'I2'#185'tf'#156'9'#133'A'#159'S'#145#5#207#240'1'#223#249
+  +#206#127#254#255#156#255#204#249#135#146'e'#25'_'#179#209#248#202#237#255#31
+  +#128'y'#24#251#128'7n'#143#161'nZyJ'#144'('#200'Rvg'#194'0:'#12#11#9'\s{m'
+  +#245'5Ea&2(Vp'#230#220#150#143'i1 '#164'2Y'#239'HV'#30'3g'#148'l'#133#206#177
+  +#239'#'#31#154#24#247'c'#223#230#201#5'z'#23#255'*'#227#202'v'#245'Z'#222'i'
+  +#26#169#244'0'#174'='#10#237'b'#188'o'#6#150#178'z'#27#146#25#30#212'('#229
+  +']'#253#242#205#166#31#208#27#138'.`|'#225#200'8k.'#7'>'#158#196#222'_'#171
+  +'QY'#228#208#12#239'<'#243'c'#140#153'E'#132#23'p'#190#163'['#211'WT'#151'c'
+  +#250'$'#7#14'7'#223'A'#185'='#15'+j'#166#160#216'1'#134#140'%'#211#25#180'+'
+  +#243'n'#245#4#16#230'c'#249'L'#127'T'#164'-'#225'8'#214#207')'#133'#'#207#130
+  +#181'gZ'#17'I'#164'5g'#235#231#148'au]%'#142'\}'#168'i'#149#19#236#232#232#13
+  +'('#169'`'#176's'#201'\'#244#4#135#240#243#137'Kdl'#199'O'#21#152':'#177#16
+  +'/'#239#246#192#23'MR'#204#128#0'Q'#26#136'a7'#199#194'3'#240#14#29#193#216
+  +#23#219#253#227#158#7#155#234'g`'#134#179#0#255'v'#191#198'/'#147'm'#152'P`'
+  +#197#154's7'#177#227'G'#23#188#161#247'X'#254'g'#155'f'#191#175#181#139#188
+  +'u4'#133#183#2'%'#209#2'c@'#127'L'#196#223#183#251'P'#227#26#143#246'}'#141
+  +#248'ku-'#150#149'9'#17'HH'#184'?('#160#227'y'#16's'#139#29#164'_['#226#196
+  +#19#255' '#209'K'#149#244'<'#232#11#17#253's'#4#21#244#243#195#16'hV'#217'%'
+  +#155#3'('#184#16'L'#128#218#223#130#182#231'!%'#188#14#219#26#170'pq]-`4'#225
+  +'zw'#8#11#166'M$|QU'#17':'#253#17#194's8#,9'#28#225#187#170'K '#159#217'@'#16
+  +':'#186#146#248#164'9'#5#178'A%f'#208#236#8#182#181#7#209#216#210#135#230#174
+  +#16#26'gM"Z'#179'/'#6#147'Q'#143#147#13#21'('#182'[q'#178#243'-'#209'_'#12
+  +#198'1'#187#196'N'#248#239#222'8t'#135'n'#226#212#141'^R TM6'#152#212#0#28
+  +#163#18#217#248'%'#234#202#10#225#29#138#19#222'+'#234#241'8'#16#197#246#133
+  +#165'x'#18#252'H'#250#170'~'#174'+'#2#187#149#197#221#141#179#181'y`'#244#0
+  +'E'#141#244#13'&'#29#163'g-'#233#180'$'#178#23#23#143#195#170#153#5#218'a'
+  +#249#194#2#182'^yEV'#161#182#235#30#30#243'J'#243#241#159''''#166'i'#183'x`'
+  +#203'e?'#142'5'#140#135't`'#30#209#226')'#17#23#220'C'#196'FGa'#152#202'?'
+  +#219#253#244#29'/N'#133#158#26#221'*'#151#145'aeu~'#186#222'iiC,I'#170#8#185
+  +#130#163#1#213'W4'#133#26';'#215'I/w'#229#253#166#230#12#130#4#136#200#30#138
+  +#27'$FHS'#173#237'8'#179#184#196#224#223'3'#223#218#244#207#163#228'A'#218'@'
+  +#25#149#130'$gY'#135'('#229#134'g'#234'*sOW9Y7'#245#253#159#252#205#3'|'#18
+  +'`'#0#146#226#143#238#168#177#134')'#0#0#0#0'IEND'#174'B`'#130
+]);
+LazarusResources.Add('TBCSVGButton_150','PNG',[
+  #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0'$'#0#0#0'$'#8#6#0#0#0#225#0#152#152
+  +#0#0#0#25'tEXtSoftware'#0'Adobe ImageReadyq'#201'e<'#0#0#3'"iTXtXML:com.adob'
+  +'e.xmp'#0#0#0#0#0'<?xpacket begin="'#239#187#191'" id="W5M0MpCehiHzreSzNTczk'
+  +'c9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011'
+  +' 66.145661, 2012/02/06-14:56:27        "> <rdf:RDF xmlns:rdf="http://www.w3'
+  +'.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="h'
+  +'ttp://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" '
+  +'xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorToo'
+  +'l="Adobe Photoshop CS6 (Windows)" xmpMM:InstanceID="xmp.iid:8D5252EB653C11E'
+  +'889C9FD9DA7A01932" xmpMM:DocumentID="xmp.did:8D5252EC653C11E889C9FD9DA7A019'
+  +'32"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:8D5252E9653C11E889C9FD9DA'
+  +'7A01932" stRef:documentID="xmp.did:8D5252EA653C11E889C9FD9DA7A01932"/> </rd'
+  +'f:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>'#221#227#222#140
+  +#0#0#5#156'IDATx'#218#236'XYL'#148'W'#20#254#254#127'.'#255#204#176#141'l'
+  +#195'2'#131#130#12#203'P'#4#145'-'#130#213'.P'#147#182'X'#227#174'I'#237#18
+  +'j}k'#31'|0'#166#166'im'#154'4i'#31'L'#26'_'#140']'#30'jQ'#138'qIk'#168'[E'
+  +#138#214'j'#5#164'('#8#8#2#3'3 '#12#179'0'#251#252#189#255#29#24#165#168'}h'
+  +#4#31'8'#147'3'#249#207'9'#247#158#251#253#247#156'{'#206#157#225'DQ'#196#179
+  +'D<'#158'1'#154#7'4'#15#232#255#18#177#208#175#19#141#127#129#152#238'cuy'#25
+  +#198'''<T'#227#159#149#197'e2'#2#1'"'#14'U'#31#139#215#22#150#26#223'*'#209
+  +#130#216#3#166#213#154#133#139#158#243#250'Q'#199's"'#1#184'Y'#1'$'#250#253
+  +' J'#185'XXXP'#209#235#244#221#3'|5'#220#241#14'+F'#251#187#219#202#178'4z'
+  +#155#195'I'#177'p'#179#22#30'V'#2'9'#17'1'#225#17#168#189'rg'#160'rY'#168#150
+  +#252#221#210'T'#22'.'#231#245'C'#227#19#24#179'N'#128#155#229#156#17#233#199
+  +'E'#179#196#235#158#208'|Sgx'#147't'#13'Y7e&*'#209'7b'#134#211#237#153#147'D'
+  +#182'QD'#162#204#139'6'#131'u'#3#185'o'#183'-'#183'9'#5#220#27'6'#195#239#159
+  +#155'6'#194#209'4'#241'A'#6#167#232#215#147#161#251'#iZu8x'#167#11#18#156#8
+  +'E'#8#214#23#235'Q'#160#211'N'#155't'#189#179#31'u'#205']X['#148#133#236#133
+  +#241#248#188#246'"'#6#199#237'3'#156#175#201#215#161'"?'#3'?'#214'7'#161#177
+  +#211#192't'#165#186'$'#228#165'$'#178'y'#255#246'9J'#211#228#228#141';P'#10
+  +#10'Xl'#142'8bt'#250'C-'#14#31#220'^/T'#20#204#174#202'28h'#232#246#213'\D'
+  +#235#224'('#155'X'#161'OF'#177'N'#3'ud'#24#26#219#251#152#227'%'#201'j4'#15
+  +#220#158#1'H'#178'I'#243#143'7'#221'e'#242#142'U'#185'x9/'#13'-w'#7#241#254
+  +#193#159'av'#184#153'>''1'#26#165#25'Z'#164#196'Gc'#216#238#129#210'-b'#212
+  +#233#22#136#217'#'#243#24',.'#133#203#231#195#186#252'tDG'#132#226#211#154'K'
+  +#248#181#195#24'\'#228#187#171#221#140#167'h'#219#202'<'#228#165'&'#226#139
+  +'37'#167#129#201#140#141#128'&F'#133#250#214#30#12'X=x'#167'$'#157#129#145
+  +#228'='''#174'N'#27';`5'#162'nr'#13')d!'#196#3#147'['#244#17#171'WD'#175#217
+  +#9'!'#132'@NY"'#135#219#143'a'#186'k'#143#163'+'#237#253'x)7'#21'9'#241'Q'
+  +#184#208'3'#18#212#239#204#10#132#249'ts/'#155#191#166'('#3#19'4a'#223#171
+  +#190#252#228#234#204#243'p'#209#8#217'}2'#16#31#17#208'o'#243'B "z'#140#150
+  +#192#14#148'e'#161#169'o'#12#13'C'#150'G:8y'#237'.'#3'T'#146#162#198#15#173
+  +#131'A}Y'#166#22'&'#179#29'_'#255#217#139#21#9#145#136'S'#133#225'f'#143#17#6
+  +#219#147'O/Ow'#200'M'#171#178'O&'#7#145#201'C'#225#244#249#225#244#2#31#158
+  +#233'@'#145'.'#17#165#217'Z'#156#222#189#150#13#174'ih'#135#133#198#189#234
+  +'dK'#208#193#254#27#131#216'C'#23'~'#173'P'#135'wO'#180'2'#221#22'],R'#19#162
+  +#216'x'#27'}'#211#162'Ej'#166#191#221'of'#242#127#31'5'#25'd'#10#1'D'#164';'
+  +#196#19'`'#234#192#175#248#246#15'l^|'#7#235#150'&C'#19#21#138#141'+2'#153
+  +#190#178'8'#13'['#15'^'#194#5#163#141#201#23'o'#13'b'#227'r'#29#182'd'''#225
+  +'H'#247'('#202#151'$3'#253#177#155#6'p'#10#5#141'C'#200'T'#195#10#200#147#212
+  +#185#171#28#139#227'UA'#185#219'8'#14#221#151'gYA'#150'0'#16#132#4#6'?\'#161
+  +#143#246'MPn'#159#148'n'#160#250#141'll,I'#197#190#202#165'x'#254#251'kL['
+  +#223'5F'#1#1#235#150#165#176#241#149#5#169'0'#141';'#216'3G}6'#14#4'JBfR'#20
+  +#147#167'(}'#127'C'#240#217#242#241'+l'#229#135#237#188#24'"'#7#132''''#243
+  +#150#211']'#176#187#188'H'#160';6'#165';'#208'9'#14#147#197#137'U'#250'Dl'
+  +#214#169#161'V)q'#170#217#16#180'_0{'#153'=-A'#245'x'#223#210'6H'#189'sR'#22
+  +')3@"'#9'p'#245#235'z'#188#144#176' (Oq:'#173'?'#18#13'Y'#220#211#244#167'Z'
+  +#140#180'6)'#176#187'"'#131#217#15#183#141#205#176#135#201#9'~'#217#176'd'
+  +#134'O'#137#3#161#225#31#200#148'yAP'#8'"Q@'#164#219'&'#229#204#185#157#133
+  +'8'#242'j:'#147'%NW'#133#227#232#166#28#246'6{'#127'3'#4#245#18#159#237#13
+  +#132'%7Y'#133#238#225#9#156#31#23#167#217#171'~7'#161#145#134'vuN<'#26#182
+  +#230'0_S'#182#205#169'1'#147#137#194#5't'#20#3'/W'#18'n'#193#254'6'#147#217
+  +#229#142#131#140'G'#134'R'#134#207#150#171#177'*-'#18#234#8'!'#24#215#198'n'
+  +#11#246#214#15#226#252#168'{'#198#225#232#218#174#195#226'X%'#14']1'#162#170
+  ,#209#244#200#3#244'UA'#12#202'u*'#228'j'#194#30'$'#243#136#3#215#251#237#248
+  +#232#178#9#29'R'#205#243#137'P'#200#249'QNs'#160#173'a'#192#226')'#131#192'?'
+  +'8jsA'#20#144'J'#206#221#226#245#177#138'kpx&oKs'#197#244#202'ls#/.'#172#157
+  +'_'#191'0'#250'''HuK'#228#230'nwhb'#131#182#176#149#9#161#199#249#138#204#200
+  +#6'e'#184#208#3#171'K'#170#225'sq'#25#130#180#182'*Qi'#223'Z'#28'}'#152#247
+  +#18#14#31#228'Gn'#135#140#26#164#158'C['#200#236'0]O'#234#223#14'*'#208#190
+  +#181'-+|GRX'#136#135#208#198#142'OJ'#21#151#6'l'#225'o'#159#235#244'T'#249#9
+  +#23#230#167#191#7#158#254#229'Z'#164#247'{'#158#231#4'8Kr'#147'j_L'#141'<'
+  +#220#227#241'R'#221#252#191#31#243#128#230#1'=]'#250'G'#128#1#0'$'#189#128
+  +#145#139#157#223'8'#0#0#0#0'IEND'#174'B`'#130
+]);
+LazarusResources.Add('TBCSVGButton_200','PNG',[
+  #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0'0'#0#0#0'0'#8#6#0#0#0'W'#2#249#135
+  +#0#0#0#25'tEXtSoftware'#0'Adobe ImageReadyq'#201'e<'#0#0#3'"iTXtXML:com.adob'
+  +'e.xmp'#0#0#0#0#0'<?xpacket begin="'#239#187#191'" id="W5M0MpCehiHzreSzNTczk'
+  +'c9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011'
+  +' 66.145661, 2012/02/06-14:56:27        "> <rdf:RDF xmlns:rdf="http://www.w3'
+  +'.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="h'
+  +'ttp://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" '
+  +'xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorToo'
+  +'l="Adobe Photoshop CS6 (Windows)" xmpMM:InstanceID="xmp.iid:9D6BD408653C11E'
+  +'8BCBBDAB79542FB82" xmpMM:DocumentID="xmp.did:9D6BD409653C11E8BCBBDAB79542FB'
+  +'82"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:9D6BD406653C11E8BCBBDAB79'
+  +'542FB82" stRef:documentID="xmp.did:9D6BD407653C11E8BCBBDAB79542FB82"/> </rd'
+  +'f:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>'#151#190#216#210
+  +#0#0#7#252'IDATx'#218#236'Y{PT'#215#25#255#221#187#247#238'.,'#207#229#181'<'
+  +'\\'#222#174#128#221#8#161'U"&1j|Um'#27'kf2'#181#181#137'I&'#227#164#211'N'
+  +#31#147#212'?:M'#159'i'#167'615'#143'1'#211'8'#19#197'4q'#148#169#209#166#134
+  +'6'#21#146'P'#5'A@'#192#21#196#5#4#150'eY`'#223#143#219's'#238'e'#175'n '#216
+  +#252#213'e'#202#199'|{'#239'|'#231';'#231'|'#223#249#158#231#194#8#130#128
+  +#133#12','#22'8,*'#176#168#192#162#2#139#10#252'o'#129#235#133#31#1'('#240
+  +#242#139'o'#225#177#181'FU'#166#161#216#235#11#146#218#16'M'#245#129'aDy8AP'
+  +#189'w'#170'nm@'#155'qn'#235#215'6'#162#216#223#7#150#154#192#31#244'B'#163
+  +#137#219#147#158#179'4I'#0'#'#154#133'e'#153#232'A"'#143#130'H'#170'P'#242
+  +#222#234'5'#213#230'`'#136'}*'#20#164#154#17#165'|>'#30#29']'#195'\A'#129#254
+  +#205#216#184#228'7'#199#29#19'YD'#227#168't-'#193#7#161#168'0'#175#171#217'<'
+  +#178#171#169#185#231#195'eU'#137#221#204#165#137#0#254'r'#246#211#131'_'#189
+  +'G'#191'?'#24#16#16'b'#169'jL'#212#250'<'#245#236#4#165#10#191':'#221'p'#225
+  +#216#179'k'#239#227'::'#205#184'5pc?_U'#128'1'#199'D4'#203'.BH`'#160#213#197
+  +'az'#210'U}'#228'l'#151#134'k'#184#220'W'#161#215#165#162'wd'#12'N'#175'/'
+  +#218#229#23#161's'#208#15#163'!'#5#181#13'}'#143's7'#167#189#223'N'#142#141
+  +#193#173#241')'#4'C'#194#130'P'#192#225#244'A'#193's'#176#185#157#219'9'#135
+  +#221'V'#226'M'#207#129'm'#202#189#128#178'?'#3#5#163#196#148'?d'#224#172#142
+  +#233#178')'#175#7#129'P`V'#234#223'f*@Y'#174#14':m'#130'L'#243#248#252#184'h'
+  +#30#128'e'#204#129'F'#243#16#158'Z'#183#18'F}'#6#250#134#199#241#251'3'#159
+  +#204#187'-]'#239'!S'#17'&'#166#221#248#233#137#250#136#177#130#244'$'#172#204
+  +#203'DEA'#14#212'J^'#166'S'#222#246#155#195#184#212'{'#11#230#209#137'p('#131
+  +'g'#149'p'#185'\:'#206#234#245#167'9'#253'!x'#253'~'#132#229'_'#146#28#135'g'
+  +'6T"+%a'#150#16't'#241'j'#163'A|O'#136'Q'#147#197'GE'#5#12':-'#226#213'*X'
+  +#236#211#159#171#192'r'#189'N|'#182#244#14'a'#194#237#151#233#207#172'3'#161
+  +#170'X?'#231#156#164#184#24'q?'#138'C'#182'I'#252#232'x'#189'X'#215'8F'#128
+  +';'#24'Rr'#14'o'#16'S'#30#1'~! O'#250#197#174#10'Qx'#183#215#143#247#155#175
+  +#225#181#134'Ny'#236#137#213'FT'#22'fcIj"'#188#129#16#142'|'#210#141#173#149
+  +'%'#136'Q'#241#168'0d'#162'y'#168'sNA'#242#181#241#242#129'|'#208'q'#19#214
+  +#25#5#14#238#174'Aqv'#154#248#222'=h'#197#159'?jG'#243#160'-b?CF'#18'LyYH&'
+  +#202#208'y4N9'#198#143#169#16'K'#158'|,'#198'\'#132#200#132#136#5'Xl,'#202#20
+  +#133#163'p'#248'o'#205'8'#209#218#31'!'#200'o'#207#183#3#4#159']'#187'\'#10
+  +'(O'#8'M'#215#6'QS'#186#148#152'?K'#26#159#3#214#20#229#136#207#177'I'#23#234
+  +#175'['#197'w'#186'FX'#248#218#11#29#248#195'?:f'#205#11#175'W'#146#26#143#31
+  +'n'#174#16#247#147#156'('#4#154'39'#154'W-'#147#30'$'#169#149#196#10'!'#168
+  +'Ht'#135#225#227'>+'#198'='#193'9'#5':p'#182'M~?K'#148#164#10#232#211#146#176
+  +'B'#151#140#250#27'c'#179#248#31'([*'#241#182'\'#151#215#12#211#154'z'#6'#'
+  +#214#155#11#26#7'&'#176#253#213#191'K'#13#28'i+'#28#30'bA'#18#7#28'C'#252'vx'
+  +#218#11'/x'#132'H'#131'1'#234#240#200#147'6-'#215#227'|'#127#219']s'#194'k'
+  +#205#22'|o'#179#19#233'I'#26'|'#217#144#129'w'#174#142'D'#140'o'#205'KCZ'#162
+  +'F|?'#222#212#135'1w'#16#223'*'#203#190'Mk'#236#17'i'#255'-('#136#183#216']>'
+  +#176'*5Q'#134#148#229'`'#144#16'<'#1#144#184#192'K'#23#7'H'#0#219#145#151#153
+  +#140'='#15#150#163'(S'#139#174#129'q'#236';'#221':'#239#162#31#181'['#240#245
+  +#234#18'lZ'#153#143#199'OF'#242'nY'#145'+>'#175#244#141#226'\'#191'C|/'#205
+  +'J'#17#159'N'#143'O'#220#243#11#181#19#244#143#229#169'&`'#5#5'1'#3#175'&'#4
+  +#14#1'N'#194#135#15#213#163#237#198#168#200#188#202#152#131#239#172'/'#135
+  +#255#229#199'D|{'#247#189#248#245'z'#163#204#27#198'w[,"?'#181#194#190'{'#244
+  +#17'ckJ'#151'H'#174'r}D'#166#197'kT3'#10#248'g'#173'u7'#12#18'dy2'#159#202#14
+  +#5#135#144'T'#27#228#219#141#217''''#192#244#202#191#240#220#189'z'#148'e'''
+  +#163#198#152#133#244#196'Xq'#236#27#171#139#197#231':r'#170#166'C'#255#148'O'
+  +#229#132'e'#18#7#29'.'#145#175'fY6'#254#212'%'#197#193#211#165':Q)*'#232#239
+  ,#26'o'#16#183'U'#206'\'#165#20'r'#175'/'#211'f`W'#158#22'o?y'#255#156#167'o'
+  +#252'Y'#29#186#167'}'#164''''#10#223#200'8%'#4#138'D'#27#26#20'w'#226#11#23
+  +#135#241#205'SW'#145#249#203#243'P'#252#184#14#7#222'mAc'#247#176'8'#177'<7'
+  +#21#199'w'#154'"'#248#235#154'%+'#212#24#179'e'#218#150'r)'#191#183#246#219
+  +#208#237#130'L'#159#156#9'd'#13'I'#191#159#221#23#12'?'#207#29'R'#226#161'2S'
+  +#217#233'-'#1#204#12#130#155#31'_h'#25#197'}G['#209#216'#'#185#215'&'#147'>b'
+  +#252#216#21#137#158#158#24#131#167#203#178'D'#154#201#144'*e'#159#206#209#8
+  +#222#203'CR'#193#211#168'y'#153'7'#140#181#22''''#20#207#159#147#241#192#201
+  +';'#18#137#130#23'yDy'#9#178#2#207#227#139#226#213#145#153#205'U'#28#10#137
+  +#203#132#233#31#218#253'h'#179'H'#229'~Ky'#22#158#171#204#17#149'qz'#3#248'y'
+  +#219'X'#196#26#135#204#14#145'Na7q'#213#249#246#147#221#141#182#211'\'#228
+  +#152'h'#129';'#241#245#7#243'E'#252','#253'N\'#150')'#21#186#209'I/z'#188'L'
+  +#196#216#191'g'#178#140')W'#139#213#249#210#233'_'#184'f'#155's'#157'3W'#164
+  +'t'#187#170'0m'#254'=Y.'#210#2'2'#157'Z'#128#20#5#129#4'r'#24'An'#147'{'#171
+  +'s1'#188#191#18#181#15#231#163'0^-'#143#209#247#247'w'#20'cU'#129#148#2#235
+  +#136#203#220'9'#151#226'o.Y'#201#201#6#145#158#160#194#134#210#12#137#175#203
+  +'>'#139#143#226'#'#31'X'#208'ku'#138'<t'#207#203'{'#202#241#188'I7'#139'o5'#9
+  +'j9'#133#134#233#212'*'#10#5#24#221'K'#237#2'-d4'#167'Rx'#163'Z'#135#189'_'
+  +#201#188'k.>'#215'i'#195#198#191#222#156's'#172'a'#167#1#171#242#147'$+M'#249
+  +#144'q'#184'c'#222#181'Z'#31'-Dyv'#220']'#247#164#7#19#247#199'6'#249'n'#25
+  +#171'$m'#181'v'#231#247#31'q'#144#142#148'jC'#191'Q'#156#30'p'#225#216'e'#27
+  +'t<C'#10#156#128#140#132#200#20#215#216';'#137#215#155'F'#241#196#199'V'#145
+  +#127'.'#204#230'X'#220'_ '#185#217#153#171'v'#188#211#239#250'\^'#138#135';&'
+  +#16#154#244'al'#218#143#165#201'*('#185#219#223#20#232#1#208'5j['#233#129'Yn'
+  +#207'#'#222#31#163#230#199#153#130'W'#218#223'3O'#7'w'#132'-'#176'`'#128#20
+  +#175#140#24#190#149'-'#201#138'i'#129';'#176#240'>'#201#145';L^<kf'#183#229
+  +'f'#28'!'#161',}'#253'Z87J'#192#21#196#182#130#148#163#236#163'K4'#131'Ps'#30
+  +#185#159#136'v'#16#24'IN5'#139#13'91'#167'X?'#9#254']'#197')?'#128#157'T'#191
+  +#5#240#169#151'a'#201'I'#219'='#216#185'"'#229'h'#137'>'#22#236#176'@'#251'u'
+  +#205'!'#168#148#182' '#233#177#163#218#149#136'l'#2#237#161#200#245#247#201
+  +#10#237'wi'#201#228'H'#3#137#170#28#5#222#218#145#176'f'#223#201#169'O'#221
+  +#19#158'8'#208#175#2#140#16'u'#194#131#212#1#21#201#234'{'#31#208'o'#246'#'
+  +#232#243'Q'#5#156#228#183'J'#167#0#239#13'tn'#255'R'#210'2'#187'3'#240#19#155
+  +'['#200#17#16#140#162#212'D.0'#12#163'H'#228'X'#235#250#210#148'W3'#19'b/Z'
+  +#157'n1b'#153#197#255#19'/*'#176#168#192#162#2#139#10#252'_+'#240#31#1#6#0#7
+  +#135'B'#234'rJ'#221#228#0#0#0#0'IEND'#174'B`'#130
+]);

BIN
test/test_bcsvgbutton/bcsvgabuttontest1.ico


+ 152 - 0
test/test_bcsvgbutton/bcsvgabuttontest1.lpi

@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="10"/>
+    <PathDelim Value="\"/>
+    <General>
+      <SessionStorage Value="InProjectDir"/>
+      <MainUnit Value="0"/>
+      <Title Value="bcsvgabuttontest1"/>
+      <Scaled Value="True"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <XPManifest>
+        <DpiAware Value="True"/>
+      </XPManifest>
+      <Icon Value="0"/>
+    </General>
+    <BuildModes Count="3">
+      <Item1 Name="Default" Default="True"/>
+      <Item2 Name="Debug">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="bcsvgabuttontest1"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <Parsing>
+            <SyntaxOptions>
+              <IncludeAssertionCode Value="True"/>
+            </SyntaxOptions>
+          </Parsing>
+          <CodeGeneration>
+            <Checks>
+              <IOChecks Value="True"/>
+              <RangeChecks Value="True"/>
+              <OverflowChecks Value="True"/>
+              <StackChecks Value="True"/>
+            </Checks>
+            <VerifyObjMethodCallValidity Value="True"/>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <DebugInfoType Value="dsDwarf2Set"/>
+              <UseHeaptrc Value="True"/>
+              <TrashVariables Value="True"/>
+              <UseExternalDbgSyms Value="True"/>
+            </Debugging>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item2>
+      <Item3 Name="Release">
+        <CompilerOptions>
+          <Version Value="11"/>
+          <PathDelim Value="\"/>
+          <Target>
+            <Filename Value="bcsvgabuttontest1"/>
+          </Target>
+          <SearchPaths>
+            <IncludeFiles Value="$(ProjOutDir)"/>
+            <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+          </SearchPaths>
+          <CodeGeneration>
+            <SmartLinkUnit Value="True"/>
+            <Optimizations>
+              <OptimizationLevel Value="3"/>
+            </Optimizations>
+          </CodeGeneration>
+          <Linking>
+            <Debugging>
+              <GenerateDebugInfo Value="False"/>
+            </Debugging>
+            <LinkSmart Value="True"/>
+            <Options>
+              <Win32>
+                <GraphicApplication Value="True"/>
+              </Win32>
+            </Options>
+          </Linking>
+        </CompilerOptions>
+      </Item3>
+    </BuildModes>
+    <PublishOptions>
+      <Version Value="2"/>
+    </PublishOptions>
+    <RunParams>
+      <local>
+        <FormatVersion Value="1"/>
+      </local>
+    </RunParams>
+    <RequiredPackages Count="2">
+      <Item1>
+        <PackageName Value="bgracontrols"/>
+      </Item1>
+      <Item2>
+        <PackageName Value="LCL"/>
+      </Item2>
+    </RequiredPackages>
+    <Units Count="2">
+      <Unit0>
+        <Filename Value="bcsvgabuttontest1.lpr"/>
+        <IsPartOfProject Value="True"/>
+      </Unit0>
+      <Unit1>
+        <Filename Value="bcsvgabuttontestunit.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+      </Unit1>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <PathDelim Value="\"/>
+    <Target>
+      <Filename Value="bcsvgabuttontest1"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions Count="3">
+      <Item1>
+        <Name Value="EAbort"/>
+      </Item1>
+      <Item2>
+        <Name Value="ECodetoolError"/>
+      </Item2>
+      <Item3>
+        <Name Value="EFOpenError"/>
+      </Item3>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 22 - 0
test/test_bcsvgbutton/bcsvgabuttontest1.lpr

@@ -0,0 +1,22 @@
+program bcsvgabuttontest1;
+
+{$mode objfpc}{$H+}
+
+uses
+  {$IFDEF UNIX}{$IFDEF UseCThreads}
+  cthreads,
+  {$ENDIF}{$ENDIF}
+  Interfaces, // this includes the LCL widgetset
+  Forms, bcsvgabuttontestunit
+  { you can add units after this };
+
+{$R *.res}
+
+begin
+  RequireDerivedFormResource:=True;
+  Application.Scaled:=True;
+  Application.Initialize;
+  Application.CreateForm(TForm1, Form1);
+  Application.Run;
+end.
+

ファイルの差分が大きいため隠しています
+ 74 - 0
test/test_bcsvgbutton/bcsvgabuttontestunit.lfm


+ 67 - 0
test/test_bcsvgbutton/bcsvgabuttontestunit.pas

@@ -0,0 +1,67 @@
+unit bcsvgabuttontestunit;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
+  BCSVGButton;
+
+type
+
+  { TForm1 }
+
+  TForm1 = class(TForm)
+    BCSVGButton1: TBCSVGButton;
+    BCSVGButton2: TBCSVGButton;
+    BCSVGButton3: TBCSVGButton;
+    BCSVGButton4: TBCSVGButton;
+    Button1: TButton;
+    Button2: TButton;
+    Panel1: TPanel;
+    Panel2: TPanel;
+    procedure Button1Click(Sender: TObject);
+    procedure Button2Click(Sender: TObject);
+    procedure FormCreate(Sender: TObject);
+    procedure FormResize(Sender: TObject);
+  private
+
+  public
+
+  end;
+
+var
+  Form1: TForm1;
+
+implementation
+
+{$R *.lfm}
+
+{ TForm1 }
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  form1.DoubleBuffered:=true;
+end;
+
+procedure TForm1.FormResize(Sender: TObject);
+begin
+  BCSVGButton1.SetBounds(0,0,Panel2.width div 2, Panel2.height div 2);
+  BCSVGButton2.SetBounds(Panel2.width div 2,0,Panel2.width div 2, Panel2.height div 2);
+  BCSVGButton3.SetBounds(0,Panel2.height div 2,Panel2.width div 2, Panel2.height div 2);
+  BCSVGButton4.SetBounds(Panel2.width div 2,Panel2.height div 2,Panel2.width div 2, Panel2.height div 2);
+end;
+
+procedure TForm1.Button1Click(Sender: TObject);
+begin
+  BCSVGButton1.Down:=True;
+end;
+
+procedure TForm1.Button2Click(Sender: TObject);
+begin
+  BCSVGButton1.Down:=False;
+end;
+
+end.
+

+ 60 - 0
test/test_bcsvgbutton/images/play.svg

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="PLAY"
+   x="0px"
+   y="0px"
+   width="64px"
+   height="64px"
+   viewBox="0 0 64 64"
+   enable-background="new 0 0 64 64"
+   xml:space="preserve"
+   sodipodi:docname="track_play.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata3819"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3817" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview3815"
+   showgrid="false"
+   inkscape:zoom="3.6875"
+   inkscape:cx="32"
+   inkscape:cy="32"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="PLAY" />
+<path
+   d="M32,5c14.888,0,27,12.112,27,27S46.888,59,32,59S5,46.888,5,32S17.112,5,32,5 M32,2C15.433,2,2,15.432,2,32  c0,16.568,13.433,30,30,30s30-13.432,30-30C62,15.432,48.567,2,32,2L32,2z"
+   id="path3810" />
+<path
+   d="M43.987,28.745L28.013,18.232C25.256,16.418,23,17.635,23,20.935V43.06c0,3.3,2.259,4.521,5.021,2.714l15.959-10.444  C46.741,33.521,46.744,30.559,43.987,28.745z M41.858,33.124l-14.185,9.283C26.753,43.01,26,42.603,26,41.503V22.491  c0-1.1,0.752-1.505,1.671-0.9l14.19,9.338C42.78,31.533,42.779,32.521,41.858,33.124z"
+   id="path3812" />
+<path
+   style="fill:#e6e6e6;stroke-width:0.27118644"
+   d="M 26.753972,61.415035 C 20.432115,60.220673 14.783481,57.152052 10.386948,52.523645 6.8913402,48.84368 4.393952,44.37197 3.056033,39.397247 2.4141997,37.010747 2.3429338,36.271479 2.3429338,32 c 0,-4.27148 0.071266,-5.010747 0.7130992,-7.397247 0.8160038,-3.034111 2.5878648,-6.945147 4.2659312,-9.41621 C 8.8282156,12.96849 11.849404,9.8048925 14.082266,8.1075826 16.5567,6.2266419 21.30712,3.939221 24.542373,3.0708351 26.996441,2.4121297 27.70538,2.3429338 32,2.3429338 c 4.271479,0 5.010747,0.071266 7.397247,0.7130992 3.03411,0.8160038 6.945148,2.5878648 9.416209,4.2659312 2.218053,1.5062514 5.381652,4.5274398 7.078962,6.7603018 1.880941,2.474434 4.16836,7.224854 5.036748,10.460107 0.658704,2.454068 0.7279,3.163007 0.7279,7.457627 0,4.278156 -0.07067,5.008618 -0.717218,7.413481 -2.832822,10.536802 -11.094782,18.785635 -21.542601,21.508374 -3.383536,0.88176 -9.353808,1.114647 -12.643275,0.49318 z M 38.836049,58.209752 C 48.298145,55.761445 55.681511,48.374294 58.24253,38.793313 59.209142,35.177134 59.262839,29.248876 58.361475,25.661143 55.894701,15.842538 48.563596,8.3726142 38.836049,5.7659897 36.536323,5.1497483 35.671816,5.0605345 32,5.0605345 c -3.655598,0 -4.540912,0.090523 -6.793312,0.6946145 C 15.626401,8.3245722 8.3250362,15.613958 5.7659897,25.163952 5.1497483,27.463676 5.0605345,28.328183 5.0605345,32 c 0,3.671816 0.089214,4.536323 0.7054552,6.836049 2.0576567,7.678877 7.0926253,13.840152 14.3018073,17.501071 5.420397,2.752551 12.599308,3.468838 18.768252,1.872632 z"
+   id="path3821"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#e6e6e6;stroke-width:0.27118644"
+   d="m 24.206473,45.958107 c -0.325696,-0.228127 -0.71827,-0.868805 -0.872388,-1.423729 -0.378045,-1.361214 -0.378045,-23.707542 0,-25.068755 0.343816,-1.237965 1.148114,-1.838504 2.462297,-1.838504 0.99889,0 2.453684,0.89664 16.37311,10.091317 2.838941,1.875303 3.661016,2.833917 3.661016,4.269076 0,1.797339 -0.557918,2.305656 -7.679769,6.997012 -10.603816,6.985019 -11.279715,7.388357 -12.381116,7.388357 -0.534036,0 -1.237454,-0.186649 -1.56315,-0.414774 z m 10.640985,-8.074616 c 6.980784,-4.563352 7.599843,-5.030502 7.67533,-5.791912 0.0799,-0.805926 -0.120748,-0.961924 -7.457627,-5.798048 -4.146856,-2.733412 -7.812087,-5.022149 -8.144959,-5.086082 -1.092302,-0.209795 -1.181871,0.707071 -1.099221,11.252134 0.08015,10.226233 0.09599,10.367784 1.16207,10.38359 0.149152,0.0022 3.688135,-2.229645 7.864407,-4.959682 z"
+   id="path3823"
+   inkscape:connector-curvature="0" /></svg>

+ 60 - 0
test/test_bcsvgbutton/images/play_hover.svg

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="PLAY"
+   x="0px"
+   y="0px"
+   width="64px"
+   height="64px"
+   viewBox="0 0 64 64"
+   enable-background="new 0 0 64 64"
+   xml:space="preserve"
+   sodipodi:docname="track_play_glow.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata3819"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3817" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview3815"
+   showgrid="false"
+   inkscape:zoom="3.6875"
+   inkscape:cx="32"
+   inkscape:cy="32"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="PLAY" />
+<path
+   d="M32,5c14.888,0,27,12.112,27,27S46.888,59,32,59S5,46.888,5,32S17.112,5,32,5 M32,2C15.433,2,2,15.432,2,32  c0,16.568,13.433,30,30,30s30-13.432,30-30C62,15.432,48.567,2,32,2L32,2z"
+   id="path3810" />
+<path
+   d="M43.987,28.745L28.013,18.232C25.256,16.418,23,17.635,23,20.935V43.06c0,3.3,2.259,4.521,5.021,2.714l15.959-10.444  C46.741,33.521,46.744,30.559,43.987,28.745z M41.858,33.124l-14.185,9.283C26.753,43.01,26,42.603,26,41.503V22.491  c0-1.1,0.752-1.505,1.671-0.9l14.19,9.338C42.78,31.533,42.779,32.521,41.858,33.124z"
+   id="path3812" />
+<path
+   style="fill:#ffcc00;stroke-width:0.27118644"
+   d="M 26.753972,61.415035 C 20.432115,60.220673 14.783481,57.152052 10.386948,52.523645 6.8913402,48.84368 4.393952,44.37197 3.056033,39.397247 2.4141997,37.010747 2.3429338,36.271479 2.3429338,32 c 0,-4.27148 0.071266,-5.010747 0.7130992,-7.397247 0.8160038,-3.034111 2.5878648,-6.945147 4.2659312,-9.41621 C 8.8282156,12.96849 11.849404,9.8048925 14.082266,8.1075826 16.5567,6.2266419 21.30712,3.939221 24.542373,3.0708351 26.996441,2.4121297 27.70538,2.3429338 32,2.3429338 c 4.271479,0 5.010747,0.071266 7.397247,0.7130992 3.03411,0.8160038 6.945148,2.5878648 9.416209,4.2659312 2.218053,1.5062514 5.381652,4.5274398 7.078962,6.7603018 1.880941,2.474434 4.16836,7.224854 5.036748,10.460107 0.658704,2.454068 0.7279,3.163007 0.7279,7.457627 0,4.278156 -0.07067,5.008618 -0.717218,7.413481 -2.832822,10.536802 -11.094782,18.785635 -21.542601,21.508374 -3.383536,0.88176 -9.353808,1.114647 -12.643275,0.49318 z M 38.836049,58.209752 C 48.298145,55.761445 55.681511,48.374294 58.24253,38.793313 59.209142,35.177134 59.262839,29.248876 58.361475,25.661143 55.894701,15.842538 48.563596,8.3726142 38.836049,5.7659897 36.536323,5.1497483 35.671816,5.0605345 32,5.0605345 c -3.655598,0 -4.540912,0.090523 -6.793312,0.6946145 C 15.626401,8.3245722 8.3250362,15.613958 5.7659897,25.163952 5.1497483,27.463676 5.0605345,28.328183 5.0605345,32 c 0,3.671816 0.089214,4.536323 0.7054552,6.836049 2.0576567,7.678877 7.0926253,13.840152 14.3018073,17.501071 5.420397,2.752551 12.599308,3.468838 18.768252,1.872632 z"
+   id="path3821"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.27118644"
+   d="m 24.206473,45.958107 c -0.325696,-0.228127 -0.71827,-0.868805 -0.872388,-1.423729 -0.378045,-1.361214 -0.378045,-23.707542 0,-25.068755 0.343816,-1.237965 1.148114,-1.838504 2.462297,-1.838504 0.99889,0 2.453684,0.89664 16.37311,10.091317 2.838941,1.875303 3.661016,2.833917 3.661016,4.269076 0,1.797339 -0.557918,2.305656 -7.679769,6.997012 -10.603816,6.985019 -11.279715,7.388357 -12.381116,7.388357 -0.534036,0 -1.237454,-0.186649 -1.56315,-0.414774 z m 10.640985,-8.074616 c 6.980784,-4.563352 7.599843,-5.030502 7.67533,-5.791912 0.0799,-0.805926 -0.120748,-0.961924 -7.457627,-5.798048 -4.146856,-2.733412 -7.812087,-5.022149 -8.144959,-5.086082 -1.092302,-0.209795 -1.181871,0.707071 -1.099221,11.252134 0.08015,10.226233 0.09599,10.367784 1.16207,10.38359 0.149152,0.0022 3.688135,-2.229645 7.864407,-4.959682 z"
+   id="path3823"
+   inkscape:connector-curvature="0" /></svg>

+ 102 - 0
test/test_bcsvgbutton/images/play_on.svg

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="PLAY"
+   x="0px"
+   y="0px"
+   width="64px"
+   height="64px"
+   viewBox="0 0 64 64"
+   enable-background="new 0 0 64 64"
+   xml:space="preserve"
+   sodipodi:docname="track_play_on.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata3819"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3817"><filter
+     inkscape:label="Cool Outside"
+     inkscape:menu="Morphology"
+     inkscape:menu-tooltip="Blurred colorized contour, empty inside"
+     style="color-interpolation-filters:sRGB;"
+     id="filter4449"><feGaussianBlur
+       stdDeviation="2"
+       result="result1"
+       id="feGaussianBlur4435" /><feOffset
+       dx="2"
+       dy="2"
+       id="feOffset4437" /><feConvolveMatrix
+       result="result3"
+       order="3 3"
+       kernelMatrix="2 0 0 0 8 0 4 0 -4 "
+       divisor="2"
+       bias="0"
+       targetX="0"
+       id="feConvolveMatrix4439" /><feComposite
+       operator="xor"
+       result="result2"
+       in="result3"
+       in2="result1"
+       id="feComposite4441" /><feColorMatrix
+       values="91.7"
+       result="fbSourceGraphic"
+       type="hueRotate"
+       id="feColorMatrix4443" /><feBlend
+       mode="multiply"
+       result="result4"
+       in="fbSourceGraphic"
+       in2="result3"
+       id="feBlend4445" /><feComposite
+       operator="in"
+       result="result6"
+       in="fbSourceGraphic"
+       in2="result4"
+       id="feComposite4447" /></filter></defs><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview3815"
+   showgrid="false"
+   inkscape:zoom="3.6875"
+   inkscape:cx="32"
+   inkscape:cy="32"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="PLAY" />
+<path
+   d="M32,5c14.888,0,27,12.112,27,27S46.888,59,32,59S5,46.888,5,32S17.112,5,32,5 M32,2C15.433,2,2,15.432,2,32  c0,16.568,13.433,30,30,30s30-13.432,30-30C62,15.432,48.567,2,32,2L32,2z"
+   id="path3810" />
+<path
+   d="M43.987,28.745L28.013,18.232C25.256,16.418,23,17.635,23,20.935V43.06c0,3.3,2.259,4.521,5.021,2.714l15.959-10.444  C46.741,33.521,46.744,30.559,43.987,28.745z M41.858,33.124l-14.185,9.283C26.753,43.01,26,42.603,26,41.503V22.491  c0-1.1,0.752-1.505,1.671-0.9l14.19,9.338C42.78,31.533,42.779,32.521,41.858,33.124z"
+   id="path3812" />
+<path
+   style="fill:#00ff00;stroke-width:0.27118644"
+   d="M 26.753972,61.415035 C 20.432115,60.220673 14.783481,57.152052 10.386948,52.523645 6.8913402,48.84368 4.393952,44.37197 3.056033,39.397247 2.4141997,37.010747 2.3429338,36.271479 2.3429338,32 c 0,-4.27148 0.071266,-5.010747 0.7130992,-7.397247 0.8160038,-3.034111 2.5878648,-6.945147 4.2659312,-9.41621 C 8.8282156,12.96849 11.849404,9.8048925 14.082266,8.1075826 16.5567,6.2266419 21.30712,3.939221 24.542373,3.0708351 26.996441,2.4121297 27.70538,2.3429338 32,2.3429338 c 4.271479,0 5.010747,0.071266 7.397247,0.7130992 3.03411,0.8160038 6.945148,2.5878648 9.416209,4.2659312 2.218053,1.5062514 5.381652,4.5274398 7.078962,6.7603018 1.880941,2.474434 4.16836,7.224854 5.036748,10.460107 0.658704,2.454068 0.7279,3.163007 0.7279,7.457627 0,4.278156 -0.07067,5.008618 -0.717218,7.413481 -2.832822,10.536802 -11.094782,18.785635 -21.542601,21.508374 -3.383536,0.88176 -9.353808,1.114647 -12.643275,0.49318 z M 38.836049,58.209752 C 48.298145,55.761445 55.681511,48.374294 58.24253,38.793313 59.209142,35.177134 59.262839,29.248876 58.361475,25.661143 55.894701,15.842538 48.563596,8.3726142 38.836049,5.7659897 36.536323,5.1497483 35.671816,5.0605345 32,5.0605345 c -3.655598,0 -4.540912,0.090523 -6.793312,0.6946145 C 15.626401,8.3245722 8.3250362,15.613958 5.7659897,25.163952 5.1497483,27.463676 5.0605345,28.328183 5.0605345,32 c 0,3.671816 0.089214,4.536323 0.7054552,6.836049 2.0576567,7.678877 7.0926253,13.840152 14.3018073,17.501071 5.420397,2.752551 12.599308,3.468838 18.768252,1.872632 z"
+   id="path3821"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.27118644"
+   d="m 24.206473,45.958107 c -0.325696,-0.228127 -0.71827,-0.868805 -0.872388,-1.423729 -0.378045,-1.361214 -0.378045,-23.707542 0,-25.068755 0.343816,-1.237965 1.148114,-1.838504 2.462297,-1.838504 0.99889,0 2.453684,0.89664 16.37311,10.091317 2.838941,1.875303 3.661016,2.833917 3.661016,4.269076 0,1.797339 -0.557918,2.305656 -7.679769,6.997012 -10.603816,6.985019 -11.279715,7.388357 -12.381116,7.388357 -0.534036,0 -1.237454,-0.186649 -1.56315,-0.414774 z m 10.640985,-8.074616 c 6.980784,-4.563352 7.599843,-5.030502 7.67533,-5.791912 0.0799,-0.805926 -0.120748,-0.961924 -7.457627,-5.798048 -4.146856,-2.733412 -7.812087,-5.022149 -8.144959,-5.086082 -1.092302,-0.209795 -1.181871,0.707071 -1.099221,11.252134 0.08015,10.226233 0.09599,10.367784 1.16207,10.38359 0.149152,0.0022 3.688135,-2.229645 7.864407,-4.959682 z"
+   id="path3823"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#008000;stroke-width:0.27118644;filter:url(#filter4449)"
+   d="m 26.298373,41.880651 c -0.153419,-0.403523 -0.264475,-4.652022 -0.264475,-10.11766 0,-9.746733 0.101554,-10.683911 1.113327,-10.274261 0.890107,0.36039 14.747883,9.65076 15.006207,10.060289 0.19975,0.316668 0.196445,0.592321 -0.0111,0.925557 -0.345326,0.554473 -14.722093,10.079368 -15.233795,10.092693 -0.190132,0.005 -0.464708,-0.304027 -0.610169,-0.686618 z"
+   id="path4185"
+   inkscape:connector-curvature="0"
+   transform="matrix(1.0458257,0,0,1.0000621,-2.921672,-1.7646977)" /></svg>

+ 128 - 0
test/test_bcsvgbutton/images/power.svg

@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="power.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata140"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs138" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview136"
+   showgrid="false"
+   inkscape:zoom="1.6601562"
+   inkscape:cx="256"
+   inkscape:cy="256"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Capa_1" />
+<g
+   id="g91">
+	<g
+   id="g89">
+		<path
+   d="M366.473,172.549c-8.552-9.598-23.262-10.44-32.858-1.888c-9.595,8.552-10.44,23.263-1.887,32.858    c16.556,18.576,25.676,42.527,25.676,67.443c-0.002,55.913-45.49,101.402-101.404,101.402s-101.402-45.489-101.402-101.402    c0-24.913,9.118-48.863,25.678-67.443c8.552-9.595,7.705-24.308-1.89-32.86c-9.596-8.552-24.306-7.705-32.858,1.89    c-24.166,27.116-37.474,62.065-37.474,98.413C108.052,352.54,174.421,418.909,256,418.909s147.948-66.369,147.948-147.948    C403.948,234.611,390.639,199.661,366.473,172.549z"
+   id="path87" />
+	</g>
+</g>
+<g
+   id="g97">
+	<g
+   id="g95">
+		<path
+   d="M256,93.091c-12.853,0-23.273,10.42-23.273,23.273v99.739c0,12.853,10.42,23.273,23.273,23.273    c12.853,0,23.273-10.42,23.273-23.273v-99.739C279.273,103.511,268.853,93.091,256,93.091z"
+   id="path93" />
+	</g>
+</g>
+<g
+   id="g103">
+	<g
+   id="g101">
+		<path
+   d="M256,0C114.842,0,0,114.842,0,256s114.842,256,256,256c141.16,0,256-114.842,256-256S397.16,0,256,0z M256,465.455    c-115.493,0-209.455-93.961-209.455-209.455S140.507,46.545,256,46.545S465.455,140.507,465.455,256S371.493,465.455,256,465.455z    "
+   id="path99" />
+	</g>
+</g>
+<g
+   id="g105">
+</g>
+<g
+   id="g107">
+</g>
+<g
+   id="g109">
+</g>
+<g
+   id="g111">
+</g>
+<g
+   id="g113">
+</g>
+<g
+   id="g115">
+</g>
+<g
+   id="g117">
+</g>
+<g
+   id="g119">
+</g>
+<g
+   id="g121">
+</g>
+<g
+   id="g123">
+</g>
+<g
+   id="g125">
+</g>
+<g
+   id="g127">
+</g>
+<g
+   id="g129">
+</g>
+<g
+   id="g131">
+</g>
+<g
+   id="g133">
+</g>
+<path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="M 244.09597,511.36171 C 193.63476,509.16551 144.19156,491.44257 103.48212,460.95861 83.785469,446.2094 65.975133,428.4828 51.452494,409.1736 20.540297,368.07296 2.6383351,318.05437 0.67295895,267.29412 -0.59155558,234.63519 3.5727726,204.74512 13.533373,174.98662 42.963106,87.061727 118.77984,21.177942 209.61882,4.59085 228.64599,1.1165111 246.83615,-0.11914908 267.29412,0.67295895 351.04414,3.9156597 428.58285,49.490303 473.57882,121.92016 c 22.78365,36.67476 35.96746,79.50971 37.72437,122.56862 1.32611,32.50071 -2.8405,62.53728 -12.83524,92.52769 -21.16665,63.51307 -67.98843,117.46906 -128.09634,147.6143 -30.54084,15.31682 -67.13593,25.12247 -98.71043,26.44946 -4.47247,0.18797 -10.16471,0.43002 -12.64942,0.5379 -2.4847,0.10787 -9.19681,-0.008 -14.91579,-0.25642 z m 37.80521,-47.21203 c 57.00093,-7.38747 107.54982,-36.80488 141.85411,-82.55336 22.04906,-29.4048 35.49983,-62.64825 40.45992,-99.99632 1.47906,-11.13689 1.48274,-40.219 0.006,-51.2 C 456.72912,174.66756 429.43358,126.06624 386.40941,91.850638 356.27745,67.887761 321.12677,53.116429 281.52861,47.776695 270.54758,46.295925 241.45259,46.298211 230.4,47.780713 186.49616,53.669609 148.45723,71.071142 115.61333,100.29176 82.873495,129.4198 58.760172,171.74825 50.357712,214.84128 47.297993,230.53342 46.730383,236.974 46.730383,256 c 0,19.49457 0.616565,26.18395 3.895317,42.26191 16.748639,82.13004 81.96728,146.94936 164.4143,163.40765 6.40157,1.27789 15.32346,2.52479 25.6,3.57778 5.72262,0.58637 34.09021,-0.16828 41.26118,-1.09766 z"
+   id="path142"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="m 241.84471,417.99692 c -46.9569,-4.87072 -88.4211,-31.22567 -112.64425,-71.59751 -11.12378,-18.53961 -17.94864,-39.40028 -20.21469,-61.78765 -0.88331,-8.72664 -0.42552,-26.28335 0.91098,-34.93647 3.89735,-25.23332 13.34389,-47.71523 28.54194,-67.92718 6.38272,-8.48841 10.24704,-12.22017 14.97144,-14.45784 3.67962,-1.74283 4.66713,-1.94439 9.52634,-1.94439 4.84448,0 5.85209,0.20413 9.47186,1.91889 9.43466,4.46938 14.87328,14.59474 13.09794,24.38512 -0.90003,4.96335 -2.62547,8.20404 -7.64294,14.35482 -7.64311,9.36946 -11.84231,16.40394 -16.00098,26.8047 -13.06537,32.67634 -8.82663,68.57526 11.48544,97.27277 5.18298,7.32268 16.32016,18.46013 23.5739,23.57448 31.55238,22.24645 72.1405,25.04597 106.11679,7.31928 3.50881,-1.83067 8.92429,-5.12435 12.03439,-7.31928 7.29432,-5.14791 18.43604,-16.28261 23.58208,-23.56725 8.55812,-12.11468 14.827,-27.02926 17.44901,-41.51369 1.48545,-8.20589 1.79613,-24.6716 0.60328,-31.97337 -3.22601,-19.74736 -10.88292,-36.78019 -23.0773,-51.33554 -4.47914,-5.34637 -6.2488,-8.72311 -7.13621,-13.61692 -1.77534,-9.79038 3.66328,-19.91574 13.09794,-24.38512 3.61977,-1.71476 4.62738,-1.91889 9.47186,-1.91889 4.85922,0 5.84672,0.20156 9.52634,1.94439 4.7244,2.23767 8.58872,5.96943 14.97144,14.45784 15.22405,20.24653 24.63793,42.65069 28.54194,67.92718 1.3365,8.65312 1.79429,26.20983 0.91098,34.93647 -2.21085,21.84206 -9.37312,43.74018 -20.164,61.65 -23.29675,38.66604 -61.28846,64.12039 -105.76788,70.86422 -7.61155,1.15404 -27.71753,1.65099 -35.23764,0.87094 z"
+   id="path144"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="m 249.99629,238.16983 c -6.40375,-1.72098 -12.06143,-6.55637 -14.99723,-12.81754 l -1.5873,-3.38523 v -55.73032 -55.73031 l 1.97218,-4.00605 c 2.45903,-4.99499 7.21232,-9.50074 12.03454,-11.407787 4.84354,-1.915478 12.3195,-1.915478 17.16304,0 4.82222,1.907047 9.57551,6.412797 12.03454,11.407787 l 1.97218,4.00605 v 55.73031 55.73032 l -1.60251,3.41844 c -3.03975,6.48436 -8.50445,11.0593 -15.33545,12.83855 -4.28314,1.11562 -7.35417,1.10133 -11.65399,-0.0542 z"
+   id="path146"
+   inkscape:connector-curvature="0" /></svg>

+ 136 - 0
test/test_bcsvgbutton/images/power_hover.svg

@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="power_glow.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata140"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs138" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview136"
+   showgrid="false"
+   inkscape:zoom="1.6601562"
+   inkscape:cx="256"
+   inkscape:cy="256"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Capa_1" />
+<g
+   id="g91">
+	<g
+   id="g89">
+		<path
+   d="M366.473,172.549c-8.552-9.598-23.262-10.44-32.858-1.888c-9.595,8.552-10.44,23.263-1.887,32.858    c16.556,18.576,25.676,42.527,25.676,67.443c-0.002,55.913-45.49,101.402-101.404,101.402s-101.402-45.489-101.402-101.402    c0-24.913,9.118-48.863,25.678-67.443c8.552-9.595,7.705-24.308-1.89-32.86c-9.596-8.552-24.306-7.705-32.858,1.89    c-24.166,27.116-37.474,62.065-37.474,98.413C108.052,352.54,174.421,418.909,256,418.909s147.948-66.369,147.948-147.948    C403.948,234.611,390.639,199.661,366.473,172.549z"
+   id="path87" />
+	</g>
+</g>
+<g
+   id="g97">
+	<g
+   id="g95">
+		<path
+   d="M256,93.091c-12.853,0-23.273,10.42-23.273,23.273v99.739c0,12.853,10.42,23.273,23.273,23.273    c12.853,0,23.273-10.42,23.273-23.273v-99.739C279.273,103.511,268.853,93.091,256,93.091z"
+   id="path93" />
+	</g>
+</g>
+<g
+   id="g103">
+	<g
+   id="g101">
+		<path
+   d="M256,0C114.842,0,0,114.842,0,256s114.842,256,256,256c141.16,0,256-114.842,256-256S397.16,0,256,0z M256,465.455    c-115.493,0-209.455-93.961-209.455-209.455S140.507,46.545,256,46.545S465.455,140.507,465.455,256S371.493,465.455,256,465.455z    "
+   id="path99" />
+	</g>
+</g>
+<g
+   id="g105">
+</g>
+<g
+   id="g107">
+</g>
+<g
+   id="g109">
+</g>
+<g
+   id="g111">
+</g>
+<g
+   id="g113">
+</g>
+<g
+   id="g115">
+</g>
+<g
+   id="g117">
+</g>
+<g
+   id="g119">
+</g>
+<g
+   id="g121">
+</g>
+<g
+   id="g123">
+</g>
+<g
+   id="g125">
+</g>
+<g
+   id="g127">
+</g>
+<g
+   id="g129">
+</g>
+<g
+   id="g131">
+</g>
+<g
+   id="g133">
+</g>
+<path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="M 244.09597,511.36171 C 193.63476,509.16551 144.19156,491.44257 103.48212,460.95861 83.785469,446.2094 65.975133,428.4828 51.452494,409.1736 20.540297,368.07296 2.6383351,318.05437 0.67295895,267.29412 -0.59155558,234.63519 3.5727726,204.74512 13.533373,174.98662 42.963106,87.061727 118.77984,21.177942 209.61882,4.59085 228.64599,1.1165111 246.83615,-0.11914908 267.29412,0.67295895 351.04414,3.9156597 428.58285,49.490303 473.57882,121.92016 c 22.78365,36.67476 35.96746,79.50971 37.72437,122.56862 1.32611,32.50071 -2.8405,62.53728 -12.83524,92.52769 -21.16665,63.51307 -67.98843,117.46906 -128.09634,147.6143 -30.54084,15.31682 -67.13593,25.12247 -98.71043,26.44946 -4.47247,0.18797 -10.16471,0.43002 -12.64942,0.5379 -2.4847,0.10787 -9.19681,-0.008 -14.91579,-0.25642 z m 37.80521,-47.21203 c 57.00093,-7.38747 107.54982,-36.80488 141.85411,-82.55336 22.04906,-29.4048 35.49983,-62.64825 40.45992,-99.99632 1.47906,-11.13689 1.48274,-40.219 0.006,-51.2 C 456.72912,174.66756 429.43358,126.06624 386.40941,91.850638 356.27745,67.887761 321.12677,53.116429 281.52861,47.776695 270.54758,46.295925 241.45259,46.298211 230.4,47.780713 186.49616,53.669609 148.45723,71.071142 115.61333,100.29176 82.873495,129.4198 58.760172,171.74825 50.357712,214.84128 47.297993,230.53342 46.730383,236.974 46.730383,256 c 0,19.49457 0.616565,26.18395 3.895317,42.26191 16.748639,82.13004 81.96728,146.94936 164.4143,163.40765 6.40157,1.27789 15.32346,2.52479 25.6,3.57778 5.72262,0.58637 34.09021,-0.16828 41.26118,-1.09766 z"
+   id="path142"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="m 241.84471,417.99692 c -46.9569,-4.87072 -88.4211,-31.22567 -112.64425,-71.59751 -11.12378,-18.53961 -17.94864,-39.40028 -20.21469,-61.78765 -0.88331,-8.72664 -0.42552,-26.28335 0.91098,-34.93647 3.89735,-25.23332 13.34389,-47.71523 28.54194,-67.92718 6.38272,-8.48841 10.24704,-12.22017 14.97144,-14.45784 3.67962,-1.74283 4.66713,-1.94439 9.52634,-1.94439 4.84448,0 5.85209,0.20413 9.47186,1.91889 9.43466,4.46938 14.87328,14.59474 13.09794,24.38512 -0.90003,4.96335 -2.62547,8.20404 -7.64294,14.35482 -7.64311,9.36946 -11.84231,16.40394 -16.00098,26.8047 -13.06537,32.67634 -8.82663,68.57526 11.48544,97.27277 5.18298,7.32268 16.32016,18.46013 23.5739,23.57448 31.55238,22.24645 72.1405,25.04597 106.11679,7.31928 3.50881,-1.83067 8.92429,-5.12435 12.03439,-7.31928 7.29432,-5.14791 18.43604,-16.28261 23.58208,-23.56725 8.55812,-12.11468 14.827,-27.02926 17.44901,-41.51369 1.48545,-8.20589 1.79613,-24.6716 0.60328,-31.97337 -3.22601,-19.74736 -10.88292,-36.78019 -23.0773,-51.33554 -4.47914,-5.34637 -6.2488,-8.72311 -7.13621,-13.61692 -1.77534,-9.79038 3.66328,-19.91574 13.09794,-24.38512 3.61977,-1.71476 4.62738,-1.91889 9.47186,-1.91889 4.85922,0 5.84672,0.20156 9.52634,1.94439 4.7244,2.23767 8.58872,5.96943 14.97144,14.45784 15.22405,20.24653 24.63793,42.65069 28.54194,67.92718 1.3365,8.65312 1.79429,26.20983 0.91098,34.93647 -2.21085,21.84206 -9.37312,43.74018 -20.164,61.65 -23.29675,38.66604 -61.28846,64.12039 -105.76788,70.86422 -7.61155,1.15404 -27.71753,1.65099 -35.23764,0.87094 z"
+   id="path144"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.60235292"
+   d="m 249.99629,238.16983 c -6.40375,-1.72098 -12.06143,-6.55637 -14.99723,-12.81754 l -1.5873,-3.38523 v -55.73032 -55.73031 l 1.97218,-4.00605 c 2.45903,-4.99499 7.21232,-9.50074 12.03454,-11.407787 4.84354,-1.915478 12.3195,-1.915478 17.16304,0 4.82222,1.907047 9.57551,6.412797 12.03454,11.407787 l 1.97218,4.00605 v 55.73031 55.73032 l -1.60251,3.41844 c -3.03975,6.48436 -8.50445,11.0593 -15.33545,12.83855 -4.28314,1.11562 -7.35417,1.10133 -11.65399,-0.0542 z"
+   id="path146"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.60235292"
+   d="m 238.53176,417.37783 c -36.71217,-4.7103 -70.85784,-23.15616 -94.68018,-51.14724 -16.76283,-19.69621 -27.57974,-42.4951 -32.86536,-69.27059 -1.51298,-7.66434 -1.6058,-9.13585 -1.61475,-25.6 -0.0105,-19.3719 0.39632,-23.02188 4.17362,-37.44187 4.91725,-18.77177 13.13277,-35.82215 24.75911,-51.38467 6.00569,-8.03898 10.80462,-12.75294 15.16024,-14.89181 3.08217,-1.51352 4.08837,-1.69341 9.47203,-1.69341 5.3444,0 6.40187,0.1858 9.37925,1.64802 7.16974,3.52113 12.43979,11.11001 13.05727,18.80247 0.53355,6.64696 -1.13901,10.65496 -8.50301,20.37599 -9.53964,12.59304 -13.64972,20.24 -17.72359,32.97544 -10.82716,33.84708 -3.42122,71.01427 19.33491,97.0335 16.71336,19.10997 36.24262,30.23238 60.74083,34.59347 21.04399,3.74618 46.03652,-0.36403 64.96611,-10.68415 13.49905,-7.35949 27.91324,-20.40455 36.04468,-32.62099 9.28345,-13.94719 16.10264,-32.34457 16.68679,-45.019 0.13113,-2.84509 0.42211,-5.6516 0.64663,-6.2367 0.22452,-0.58509 0.2572,-5.16929 0.0726,-10.1871 -0.79801,-21.69361 -8.87709,-42.98477 -23.00439,-60.62448 -4.65375,-5.81081 -6.15562,-8.34697 -7.28664,-12.30474 -2.86009,-10.0083 2.46009,-21.25325 12.35426,-26.11247 2.95715,-1.45231 4.02477,-1.63926 9.36134,-1.63926 5.38366,0 6.38986,0.17989 9.47203,1.69341 1.89667,0.93139 5.02396,3.24462 6.94953,5.14052 6.62919,6.52707 16.71159,21.24511 22.63172,33.03727 5.49593,10.9472 10.70108,27.00072 13.14552,40.54291 1.83001,10.13824 2.25074,32.43924 0.81366,43.12802 -5.76291,42.8635 -29.23961,80.41947 -65.3607,104.55832 -18.52238,12.37807 -44.55465,21.59319 -66.02441,23.37188 -8.42414,0.69791 -26.57449,0.67379 -32.15912,-0.0427 z"
+   id="path148"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.60235292"
+   d="M 241.84471,511.04099 C 218.6913,509.25674 201.6391,506.2163 182.53826,500.46655 143.86933,488.82638 108.25165,467.84042 79.061727,439.49808 68.298686,429.04757 59.070809,418.72309 51.582266,408.75306 8.1504166,350.92914 -8.5022834,277.19457 5.7242257,205.70353 25.835829,104.63873 107.11247,24.219253 208.41412,5.151271 c 41.61026,-7.8322883 85.74152,-5.15335423 125.28941,7.60554 68.14567,21.985077 124.93171,72.401547 154.46194,137.136269 20.1038,44.07055 27.20471,92.20811 20.75945,140.72956 -10.383,78.16571 -58.08194,148.24607 -127.93668,187.9675 -28.78733,16.3693 -64.50162,27.81769 -97.63416,31.2971 -8.53207,0.896 -35.22606,1.63796 -41.50937,1.15375 z m 34.03294,-46.18443 c 12.4822,-0.67938 31.87474,-4.79632 47.58588,-10.10223 64.60159,-21.81707 115.38483,-75.05719 134.22132,-140.71491 2.59491,-9.04502 4.90612,-19.74366 6.42225,-29.72883 1.29956,-8.55881 1.8596,-34.48707 0.9953,-46.08 -2.27919,-30.57121 -13.25455,-64.18064 -29.89868,-91.55765 C 417.96936,118.32512 392.47071,93.026762 363.93624,75.965271 336.96955,59.841197 304.63423,49.351798 274.37176,46.911049 263.49223,46.033586 236.18814,46.588117 227.99059,47.853025 188.52422,53.942814 156.89878,67.40386 125.89176,91.310339 117.93256,97.4469 99.110195,115.93877 93.144757,123.48235 c -17.650791,22.32027 -30.816738,47.33254 -38.561502,73.25798 -5.355616,17.92781 -7.540277,32.28871 -8.006947,52.63379 -0.526691,22.96172 0.757643,36.44304 5.279261,55.41501 7.061061,29.62706 21.496304,59.0064 40.691479,82.81737 33.284822,41.28872 81.915572,68.94005 133.937662,76.15664 4.80376,0.66639 9.54729,1.32591 10.54117,1.46561 2.51265,0.35317 30.44024,0.0856 38.85177,-0.37219 z"
+   id="path150"
+   inkscape:connector-curvature="0" /></svg>

+ 144 - 0
test/test_bcsvgbutton/images/power_on.svg

@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="power_on.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata140"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs138" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview136"
+   showgrid="false"
+   inkscape:zoom="1.6601562"
+   inkscape:cx="256"
+   inkscape:cy="256"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Capa_1" />
+<g
+   id="g91">
+	<g
+   id="g89">
+		<path
+   d="M366.473,172.549c-8.552-9.598-23.262-10.44-32.858-1.888c-9.595,8.552-10.44,23.263-1.887,32.858    c16.556,18.576,25.676,42.527,25.676,67.443c-0.002,55.913-45.49,101.402-101.404,101.402s-101.402-45.489-101.402-101.402    c0-24.913,9.118-48.863,25.678-67.443c8.552-9.595,7.705-24.308-1.89-32.86c-9.596-8.552-24.306-7.705-32.858,1.89    c-24.166,27.116-37.474,62.065-37.474,98.413C108.052,352.54,174.421,418.909,256,418.909s147.948-66.369,147.948-147.948    C403.948,234.611,390.639,199.661,366.473,172.549z"
+   id="path87" />
+	</g>
+</g>
+<g
+   id="g97">
+	<g
+   id="g95">
+		<path
+   d="M256,93.091c-12.853,0-23.273,10.42-23.273,23.273v99.739c0,12.853,10.42,23.273,23.273,23.273    c12.853,0,23.273-10.42,23.273-23.273v-99.739C279.273,103.511,268.853,93.091,256,93.091z"
+   id="path93" />
+	</g>
+</g>
+<g
+   id="g103">
+	<g
+   id="g101">
+		<path
+   d="M256,0C114.842,0,0,114.842,0,256s114.842,256,256,256c141.16,0,256-114.842,256-256S397.16,0,256,0z M256,465.455    c-115.493,0-209.455-93.961-209.455-209.455S140.507,46.545,256,46.545S465.455,140.507,465.455,256S371.493,465.455,256,465.455z    "
+   id="path99" />
+	</g>
+</g>
+<g
+   id="g105">
+</g>
+<g
+   id="g107">
+</g>
+<g
+   id="g109">
+</g>
+<g
+   id="g111">
+</g>
+<g
+   id="g113">
+</g>
+<g
+   id="g115">
+</g>
+<g
+   id="g117">
+</g>
+<g
+   id="g119">
+</g>
+<g
+   id="g121">
+</g>
+<g
+   id="g123">
+</g>
+<g
+   id="g125">
+</g>
+<g
+   id="g127">
+</g>
+<g
+   id="g129">
+</g>
+<g
+   id="g131">
+</g>
+<g
+   id="g133">
+</g>
+<path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="M 244.09597,511.36171 C 193.63476,509.16551 144.19156,491.44257 103.48212,460.95861 83.785469,446.2094 65.975133,428.4828 51.452494,409.1736 20.540297,368.07296 2.6383351,318.05437 0.67295895,267.29412 -0.59155558,234.63519 3.5727726,204.74512 13.533373,174.98662 42.963106,87.061727 118.77984,21.177942 209.61882,4.59085 228.64599,1.1165111 246.83615,-0.11914908 267.29412,0.67295895 351.04414,3.9156597 428.58285,49.490303 473.57882,121.92016 c 22.78365,36.67476 35.96746,79.50971 37.72437,122.56862 1.32611,32.50071 -2.8405,62.53728 -12.83524,92.52769 -21.16665,63.51307 -67.98843,117.46906 -128.09634,147.6143 -30.54084,15.31682 -67.13593,25.12247 -98.71043,26.44946 -4.47247,0.18797 -10.16471,0.43002 -12.64942,0.5379 -2.4847,0.10787 -9.19681,-0.008 -14.91579,-0.25642 z m 37.80521,-47.21203 c 57.00093,-7.38747 107.54982,-36.80488 141.85411,-82.55336 22.04906,-29.4048 35.49983,-62.64825 40.45992,-99.99632 1.47906,-11.13689 1.48274,-40.219 0.006,-51.2 C 456.72912,174.66756 429.43358,126.06624 386.40941,91.850638 356.27745,67.887761 321.12677,53.116429 281.52861,47.776695 270.54758,46.295925 241.45259,46.298211 230.4,47.780713 186.49616,53.669609 148.45723,71.071142 115.61333,100.29176 82.873495,129.4198 58.760172,171.74825 50.357712,214.84128 47.297993,230.53342 46.730383,236.974 46.730383,256 c 0,19.49457 0.616565,26.18395 3.895317,42.26191 16.748639,82.13004 81.96728,146.94936 164.4143,163.40765 6.40157,1.27789 15.32346,2.52479 25.6,3.57778 5.72262,0.58637 34.09021,-0.16828 41.26118,-1.09766 z"
+   id="path142"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#e6e6e6;stroke-width:0.60235292"
+   d="m 241.84471,417.99692 c -46.9569,-4.87072 -88.4211,-31.22567 -112.64425,-71.59751 -11.12378,-18.53961 -17.94864,-39.40028 -20.21469,-61.78765 -0.88331,-8.72664 -0.42552,-26.28335 0.91098,-34.93647 3.89735,-25.23332 13.34389,-47.71523 28.54194,-67.92718 6.38272,-8.48841 10.24704,-12.22017 14.97144,-14.45784 3.67962,-1.74283 4.66713,-1.94439 9.52634,-1.94439 4.84448,0 5.85209,0.20413 9.47186,1.91889 9.43466,4.46938 14.87328,14.59474 13.09794,24.38512 -0.90003,4.96335 -2.62547,8.20404 -7.64294,14.35482 -7.64311,9.36946 -11.84231,16.40394 -16.00098,26.8047 -13.06537,32.67634 -8.82663,68.57526 11.48544,97.27277 5.18298,7.32268 16.32016,18.46013 23.5739,23.57448 31.55238,22.24645 72.1405,25.04597 106.11679,7.31928 3.50881,-1.83067 8.92429,-5.12435 12.03439,-7.31928 7.29432,-5.14791 18.43604,-16.28261 23.58208,-23.56725 8.55812,-12.11468 14.827,-27.02926 17.44901,-41.51369 1.48545,-8.20589 1.79613,-24.6716 0.60328,-31.97337 -3.22601,-19.74736 -10.88292,-36.78019 -23.0773,-51.33554 -4.47914,-5.34637 -6.2488,-8.72311 -7.13621,-13.61692 -1.77534,-9.79038 3.66328,-19.91574 13.09794,-24.38512 3.61977,-1.71476 4.62738,-1.91889 9.47186,-1.91889 4.85922,0 5.84672,0.20156 9.52634,1.94439 4.7244,2.23767 8.58872,5.96943 14.97144,14.45784 15.22405,20.24653 24.63793,42.65069 28.54194,67.92718 1.3365,8.65312 1.79429,26.20983 0.91098,34.93647 -2.21085,21.84206 -9.37312,43.74018 -20.164,61.65 -23.29675,38.66604 -61.28846,64.12039 -105.76788,70.86422 -7.61155,1.15404 -27.71753,1.65099 -35.23764,0.87094 z"
+   id="path144"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.60235292"
+   d="m 249.99629,238.16983 c -6.40375,-1.72098 -12.06143,-6.55637 -14.99723,-12.81754 l -1.5873,-3.38523 v -55.73032 -55.73031 l 1.97218,-4.00605 c 2.45903,-4.99499 7.21232,-9.50074 12.03454,-11.407787 4.84354,-1.915478 12.3195,-1.915478 17.16304,0 4.82222,1.907047 9.57551,6.412797 12.03454,11.407787 l 1.97218,4.00605 v 55.73031 55.73032 l -1.60251,3.41844 c -3.03975,6.48436 -8.50445,11.0593 -15.33545,12.83855 -4.28314,1.11562 -7.35417,1.10133 -11.65399,-0.0542 z"
+   id="path146"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.60235292"
+   d="m 238.53176,417.37783 c -36.71217,-4.7103 -70.85784,-23.15616 -94.68018,-51.14724 -16.76283,-19.69621 -27.57974,-42.4951 -32.86536,-69.27059 -1.51298,-7.66434 -1.6058,-9.13585 -1.61475,-25.6 -0.0105,-19.3719 0.39632,-23.02188 4.17362,-37.44187 4.91725,-18.77177 13.13277,-35.82215 24.75911,-51.38467 6.00569,-8.03898 10.80462,-12.75294 15.16024,-14.89181 3.08217,-1.51352 4.08837,-1.69341 9.47203,-1.69341 5.3444,0 6.40187,0.1858 9.37925,1.64802 7.16974,3.52113 12.43979,11.11001 13.05727,18.80247 0.53355,6.64696 -1.13901,10.65496 -8.50301,20.37599 -9.53964,12.59304 -13.64972,20.24 -17.72359,32.97544 -10.82716,33.84708 -3.42122,71.01427 19.33491,97.0335 16.71336,19.10997 36.24262,30.23238 60.74083,34.59347 21.04399,3.74618 46.03652,-0.36403 64.96611,-10.68415 13.49905,-7.35949 27.91324,-20.40455 36.04468,-32.62099 9.28345,-13.94719 16.10264,-32.34457 16.68679,-45.019 0.13113,-2.84509 0.42211,-5.6516 0.64663,-6.2367 0.22452,-0.58509 0.2572,-5.16929 0.0726,-10.1871 -0.79801,-21.69361 -8.87709,-42.98477 -23.00439,-60.62448 -4.65375,-5.81081 -6.15562,-8.34697 -7.28664,-12.30474 -2.86009,-10.0083 2.46009,-21.25325 12.35426,-26.11247 2.95715,-1.45231 4.02477,-1.63926 9.36134,-1.63926 5.38366,0 6.38986,0.17989 9.47203,1.69341 1.89667,0.93139 5.02396,3.24462 6.94953,5.14052 6.62919,6.52707 16.71159,21.24511 22.63172,33.03727 5.49593,10.9472 10.70108,27.00072 13.14552,40.54291 1.83001,10.13824 2.25074,32.43924 0.81366,43.12802 -5.76291,42.8635 -29.23961,80.41947 -65.3607,104.55832 -18.52238,12.37807 -44.55465,21.59319 -66.02441,23.37188 -8.42414,0.69791 -26.57449,0.67379 -32.15912,-0.0427 z"
+   id="path148"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.60235292"
+   d="M 241.84471,511.04099 C 218.6913,509.25674 201.6391,506.2163 182.53826,500.46655 143.86933,488.82638 108.25165,467.84042 79.061727,439.49808 68.298686,429.04757 59.070809,418.72309 51.582266,408.75306 8.1504166,350.92914 -8.5022834,277.19457 5.7242257,205.70353 25.835829,104.63873 107.11247,24.219253 208.41412,5.151271 c 41.61026,-7.8322883 85.74152,-5.15335423 125.28941,7.60554 68.14567,21.985077 124.93171,72.401547 154.46194,137.136269 20.1038,44.07055 27.20471,92.20811 20.75945,140.72956 -10.383,78.16571 -58.08194,148.24607 -127.93668,187.9675 -28.78733,16.3693 -64.50162,27.81769 -97.63416,31.2971 -8.53207,0.896 -35.22606,1.63796 -41.50937,1.15375 z m 34.03294,-46.18443 c 12.4822,-0.67938 31.87474,-4.79632 47.58588,-10.10223 64.60159,-21.81707 115.38483,-75.05719 134.22132,-140.71491 2.59491,-9.04502 4.90612,-19.74366 6.42225,-29.72883 1.29956,-8.55881 1.8596,-34.48707 0.9953,-46.08 -2.27919,-30.57121 -13.25455,-64.18064 -29.89868,-91.55765 C 417.96936,118.32512 392.47071,93.026762 363.93624,75.965271 336.96955,59.841197 304.63423,49.351798 274.37176,46.911049 263.49223,46.033586 236.18814,46.588117 227.99059,47.853025 188.52422,53.942814 156.89878,67.40386 125.89176,91.310339 117.93256,97.4469 99.110195,115.93877 93.144757,123.48235 c -17.650791,22.32027 -30.816738,47.33254 -38.561502,73.25798 -5.355616,17.92781 -7.540277,32.28871 -8.006947,52.63379 -0.526691,22.96172 0.757643,36.44304 5.279261,55.41501 7.061061,29.62706 21.496304,59.0064 40.691479,82.81737 33.284822,41.28872 81.915572,68.94005 133.937662,76.15664 4.80376,0.66639 9.54729,1.32591 10.54117,1.46561 2.51265,0.35317 30.44024,0.0856 38.85177,-0.37219 z"
+   id="path150"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.60235292"
+   d="m 232.39127,416.2277 c -24.1769,-4.36761 -45.2994,-13.55254 -64.91347,-28.22705 -24.86535,-18.60333 -43.71231,-45.81309 -52.44166,-75.71115 -4.4895,-15.37659 -4.9103,-18.32163 -5.23617,-36.64666 -0.3514,-19.75996 0.21003,-26.48614 3.20564,-38.40553 4.01413,-15.97204 9.09973,-28.49973 16.78852,-41.35625 8.52377,-14.25268 17.51107,-24.89926 23.51087,-27.85153 2.66303,-1.31038 3.7951,-1.47894 9.93265,-1.47894 6.55816,0 7.08526,0.093 9.89777,1.74605 4.06364,2.38843 7.77255,6.35354 9.79454,10.47112 1.37185,2.79364 1.73075,4.43329 1.90055,8.68273 0.26944,6.74301 -0.54394,8.54698 -9.45218,20.96363 -10.57309,14.73718 -15.93605,26.53443 -19.45301,42.79207 -1.18544,5.47987 -1.36439,8.06344 -1.37507,19.85263 -0.0108,11.88116 0.15698,14.33311 1.35988,19.87765 4.37779,20.17866 12.7089,35.91592 26.58211,50.21295 15.49399,15.96731 32.15975,25.18014 54.25748,29.9935 5.45124,1.1874 8.00334,1.37074 18.9491,1.36125 11.38334,-0.01 13.40655,-0.17167 20.21398,-1.61651 22.27388,-4.72749 38.18738,-13.67949 54.47779,-30.64603 6.74668,-7.02669 10.76852,-12.56432 15.24784,-20.99457 6.7755,-12.75175 10.48478,-24.71764 11.61393,-37.46576 1.80127,-20.33626 -1.33714,-38.38195 -9.6627,-55.56018 -3.39086,-6.99639 -6.14258,-11.38439 -12.67771,-20.21641 -7.09182,-9.58435 -7.52162,-10.59888 -7.52787,-17.76942 -0.005,-5.45289 0.16272,-6.36591 1.76787,-9.63764 2.09752,-4.27534 6.37003,-8.64194 10.39467,-10.62358 2.53116,-1.24629 3.7533,-1.42348 9.81809,-1.42348 6.56308,0 7.0853,0.0923 9.93882,1.7571 8.05897,4.70169 21.33282,22.58239 29.58459,39.85229 5.92763,12.40575 11.41635,31.24028 12.88822,44.2259 0.86601,7.6404 0.87442,30.94702 0.0135,37.34588 -7.11169,52.85706 -42.31273,98.08527 -91.57807,117.66449 -8.45143,3.3588 -19.54149,6.59427 -28.52156,8.32102 -5.74193,1.1041 -9.33718,1.31917 -24.78667,1.48277 -15.78687,0.16717 -18.88467,0.0443 -24.51226,-0.97234 z"
+   id="path152"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.60235292"
+   d="m 249.54641,237.69302 c -6.0249,-1.96629 -11.39557,-6.64773 -14.39033,-12.54359 l -1.44314,-2.84114 v -56.22487 -56.22488 l 2.11477,-3.57868 c 2.56008,-4.33228 7.03432,-8.657016 10.95173,-10.585808 2.48825,-1.225128 3.78608,-1.425817 9.22056,-1.425817 5.76744,0 6.62484,0.152084 9.73113,1.726076 4.0937,2.074323 7.51563,5.455039 10.41094,10.285549 l 2.14499,3.57868 v 56.27112 56.27112 l -1.88681,3.54001 c -2.35908,4.42609 -6.75012,8.5849 -11.2336,10.63949 -4.1577,1.9053 -11.57316,2.43355 -15.62024,1.11274 z"
+   id="path154"
+   inkscape:connector-curvature="0" /></svg>

+ 117 - 0
test/test_bcsvgbutton/images/settings.svg

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="settings.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata140"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs138" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview136"
+   showgrid="false"
+   inkscape:zoom="1.1739077"
+   inkscape:cx="256"
+   inkscape:cy="299.2311"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Capa_1" />
+
+
+
+<g
+   id="g105">
+</g>
+<g
+   id="g107">
+</g>
+<g
+   id="g109">
+</g>
+<g
+   id="g111">
+</g>
+<g
+   id="g113">
+</g>
+<g
+   id="g115">
+</g>
+<g
+   id="g117">
+</g>
+<g
+   id="g119">
+</g>
+<g
+   id="g121">
+</g>
+<g
+   id="g123">
+</g>
+<g
+   id="g125">
+</g>
+<g
+   id="g127">
+</g>
+<g
+   id="g129">
+</g>
+<g
+   id="g131">
+</g>
+<g
+   id="g133">
+</g>
+<g
+   transform="translate(13.003678,11.334788)"
+   id="g4835"
+   style="fill:#cccccc"><g
+     id="g4833"
+     style="fill:#cccccc"><path
+       inkscape:connector-curvature="0"
+       d="m 475.306,137.101 -30.3,-5.2 c -3,-11.7 -7.4,-22.6 -13.4,-32.8 l 17.9,-25 c 3.3,-4.6 2.8,-11 -1.2,-14.9 l -10.6,-10.7 -10.6,-10.8 c -2.2,-2.3 -5.2,-3.4 -8.2,-3.4 -2.3,0 -4.7,0.7 -6.7,2.1 l -25.2,17.7 c -10.3,-6.2 -21.5,-10.9 -33.5,-13.8 l -5,-30 c -0.9,-5.6 -5.7,-9.8 -11.5,-9.8 l -15.2,-0.1 -15.2,-0.1 v 0 c -5.6,0 -10.5,4.1 -11.5,9.7 l -5.3,30.5 c -11.7,3 -22.6,7.7 -32.7,13.6 l -24.6,-18 c -2.1,-1.5 -4.4,-2.2 -6.8,-2.2 -3,0 -5.9,1.1 -8.2,3.3 l -10.7,10.6 -10.7,10.6 c -4,4 -4.6,10.3 -1.3,14.9 l 17.9,25.3 c -5.9,10.1 -10.5,21.1 -13.4,32.7 l -30,5 c -5.6,0.9 -9.8,5.7 -9.8,11.5 l -0.1,15.2 -0.1,15.2 c 0,5.6 4.1,10.6 9.7,11.6 l 30.5,5.3 c 3,11.7 7.7,22.6 13.6,32.7 l -17.8,24.7 c -3.3,4.6 -2.8,11 1.2,14.9 l 10.6,10.7 10.6,10.7 c 2.2,2.3 5.2,3.4 8.2,3.4 2.3,0 4.7,-0.7 6.7,-2.1 l 25.3,-17.9 c 9.8,5.8 20.7,10.4 31.9,13.3 l 4.9,30.3 c 0.9,5.6 5.7,9.8 11.5,9.8 l 15.2,0.1 15.2,0.1 v 0 c 5.6,0 10.5,-4.1 11.5,-9.7 l 5.2,-30.3 c 11.7,-3 22.6,-7.4 32.8,-13.4 l 25,17.9 c 2.1,1.5 4.4,2.2 6.8,2.2 3,0 5.9,-1.1 8.2,-3.3 l 10.7,-10.6 10.7,-10.6 c 4,-4 4.6,-10.3 1.3,-14.9 l -17.7,-25.2 c 6.1,-10.1 10.6,-21.1 13.7,-32.7 l 30.3,-4.9 c 5.6,-0.9 9.8,-5.7 9.8,-11.5 l 0.1,-15.2 0.1,-15.2 c -0.2,-5.5 -4.3,-10.3 -9.8,-11.3 z m -130.3,125.6 c -7.7,1.8 -15.4,2.6 -23,2.6 -46.6,0 -88.7,-32 -99.6,-79.4 -12.6,-55 21.7,-109.9 76.8,-122.6 7.7,-1.8 15.4,-2.6 23,-2.6 46.6,0 88.7,32 99.6,79.4 12.6,55.1 -21.8,110 -76.8,122.6 z"
+       id="path4823"
+       style="fill:#cccccc" /><path
+       inkscape:connector-curvature="0"
+       d="m 380.606,198.201 c -18.1,-4.6 -32.8,-14.9 -32.8,-14.9 l -11.5,36.2 -2.2,6.8 v -0.1 l -1.9,5.8 -6,-17.1 c 15.3,-21.3 -4,-20.5 -4,-20.5 0,0 -19.3,-0.8 -4,20.5 l -6.1,17.3 -1.9,-5.8 -13.6,-43 c 0,0 -14.7,10.3 -32.8,14.9 -9,2.3 -12.3,10 -13.3,17.2 16.2,22.3 42.3,36.2 71.5,36.2 6.7,0 13.4,-0.8 19.9,-2.3 21.1,-4.9 39.4,-17 51.9,-34.4 -1.1,-7.1 -4.4,-14.6 -13.2,-16.8 z"
+       id="path4825"
+       style="fill:#cccccc" /><path
+       inkscape:connector-curvature="0"
+       d="m 163.606,352.901 c 2.8,-2 3.7,-5.7 2.2,-8.8 l -8.1,-16.8 c 4.6,-5.5 8.4,-11.6 11.4,-18.2 h 18.6 c 3.5,0 6.4,-2.5 7,-5.9 l 1.5,-9.1 1.5,-9.1 c 0.4,-3.3 -1.6,-6.6 -4.8,-7.7 l -17.6,-6.1 c -0.6,-7.3 -2.2,-14.3 -4.8,-20.9 l 13.2,-13.2 c 2.4,-2.5 2.7,-6.3 0.8,-9 l -5.3,-7.5 -5.3,-7.5 c -1.1,-1.6 -2.8,-2.6 -4.6,-2.8 -1.4,-0.2 -2.9,0 -4.2,0.6 l -16.8,8.1 c -5.5,-4.7 -11.8,-8.6 -18.7,-11.6 v -18.4 c 0,-3.5 -2.5,-6.4 -5.9,-7 l -9.1,-1.5 -9.1,-1.5 v 0 c -3.3,-0.5 -6.7,1.4 -7.8,4.7 l -6.2,17.7 c -7.3,0.6 -14.3,2.4 -20.9,4.9 l -12.9,-13.2 c -1.1,-1.1 -2.4,-1.7 -3.8,-2 -1.8,-0.3 -3.7,0.1 -5.2,1.2 l -7.5,5.3 -7.5,5.3 c -2.8,2 -3.7,5.7 -2.2,8.8 l 8.2,16.9 c -4.5,5.5 -8.3,11.6 -11.2,18.2 h -18.4 c -3.5,0 -6.4,2.5 -7,5.9 l -1.5,9.1 -1.5,9.1 c -0.6,3.4 1.4,6.7 4.7,7.9 l 17.7,6.2 c 0.6,7.3 2.4,14.3 4.9,20.9 l -13,13.1 c -2.4,2.5 -2.7,6.3 -0.8,9 l 5.3,7.5 5.3,7.5 c 1.1,1.6 2.8,2.6 4.6,2.8 1.4,0.2 2.9,0 4.2,-0.6 l 16.9,-8.2 c 5.3,4.4 11.3,8.2 17.8,11.1 v 18.6 c 0,3.5 2.5,6.4 5.9,7 l 9.1,1.5 9.1,1.5 v 0 c 3.3,0.5 6.7,-1.4 7.8,-4.7 l 6.1,-17.6 c 7.3,-0.6 14.3,-2.2 20.9,-4.8 l 13.2,13.2 c 1.1,1.1 2.4,1.7 3.8,2 1.8,0.3 3.7,-0.1 5.2,-1.2 l 7.5,-5.3 z m -24.6,-71.7 c -1.8,22.2 -21.3,38.7 -43.5,36.9 -22.2,-1.8 -38.7,-21.3 -36.9,-43.5 1.8,-22.2 21.3,-38.7 43.5,-36.9 22.2,1.8 38.7,21.3 36.9,43.5 z"
+       id="path4827"
+       style="fill:#cccccc" /><path
+       inkscape:connector-curvature="0"
+       d="m 305.106,413.401 -13.7,-6.5 c 0.2,-5.8 -0.5,-11.6 -2,-17.4 l 11.8,-9.5 c 2.2,-1.8 2.8,-4.8 1.4,-7.3 l -3.7,-6.5 -3.7,-6.5 c -1.4,-2.3 -4.4,-3.4 -6.9,-2.5 l -14.3,5.1 c -4.1,-4.3 -8.7,-7.9 -13.7,-10.8 l 1.6,-15.1 c 0.3,-2.8 -1.5,-5.4 -4.1,-6.1 l -7.2,-2 -7.2,-2 c -1.5,-0.4 -3.1,-0.2 -4.4,0.5 -1,0.6 -1.8,1.4 -2.4,2.5 l -6.5,13.7 c -5.9,-0.2 -11.9,0.5 -17.7,2.2 l -9.4,-11.7 c -1.8,-2.2 -4.8,-2.8 -7.3,-1.4 l -6.5,3.7 -6.5,3.7 v 0 c -2.4,1.4 -3.5,4.3 -2.6,6.9 l 5.1,14.4 c -4.3,4.1 -7.9,8.8 -10.7,13.7 l -14.9,-1.8 c -1.2,-0.1 -2.4,0.1 -3.4,0.7 -1.3,0.7 -2.3,1.9 -2.7,3.4 l -2,7.2 -2,7.2 c -0.8,2.7 0.5,5.5 3.1,6.7 l 13.8,6.5 c -0.1,5.8 0.6,11.6 2.2,17.3 l -11.7,9.4 c -2.2,1.8 -2.8,4.8 -1.4,7.3 l 3.7,6.5 3.7,6.5 c 1.4,2.4 4.3,3.6 7,2.6 l 14.4,-5.1 c 4.1,4.3 8.8,7.9 13.7,10.7 l -1.6,14.9 c -0.3,2.8 1.5,5.4 4.1,6.1 l 7.2,2 7.2,2 c 1.5,0.4 3.1,0.2 4.4,-0.5 1,-0.6 1.8,-1.4 2.4,-2.5 l 6.5,-13.8 c 5.6,0.1 11.4,-0.6 16.9,-2 l 9.5,11.8 c 1.8,2.2 4.8,2.8 7.3,1.4 l 6.5,-3.7 6.5,-3.7 v 0 c 2.4,-1.4 3.5,-4.3 2.6,-6.9 l -5.1,-14.3 c 4.3,-4.1 7.9,-8.7 10.8,-13.7 l 15.1,1.6 c 1.2,0.1 2.4,-0.1 3.4,-0.7 1.3,-0.7 2.3,-1.9 2.7,-3.4 l 2,-7.2 2,-7.2 c 0.5,-2.3 -0.8,-5.2 -3.3,-6.4 z m -57.9,19.3 c -15,10.1 -35.4,6.2 -45.6,-8.8 -10.1,-15 -6.2,-35.4 8.8,-45.6 15,-10.2 35.4,-6.2 45.6,8.8 10.2,15 6.2,35.4 -8.8,45.6 z"
+       id="path4829"
+       style="fill:#cccccc" /><path
+       inkscape:connector-curvature="0"
+       d="m 291.506,159.201 c 1.6,10.2 9.4,23.1 22.3,27.6 5.3,1.9 11.1,1.9 16.4,0 12.7,-4.6 20.8,-17.5 22.4,-27.6 1.7,-0.1 4,-2.5 6.4,-11.1 3.3,-11.7 -0.2,-13.4 -3.2,-13.1 0.6,-1.6 1,-3.2 1.3,-4.8 5,-30.3 -9.9,-31.3 -9.9,-31.3 0,0 -2.5,-4.8 -9,-8.3 -4.4,-2.6 -10.4,-4.6 -18.4,-3.9 -2.6,0.1 -5,0.6 -7.3,1.4 v 0 c -2.9,1 -5.6,2.4 -8.1,4.1 -3,1.9 -5.8,4.2 -8.3,6.9 -3.9,4 -7.5,9.3 -9,15.8 -1.3,4.9 -1,9.9 0.1,15.4 v 0 c 0.3,1.6 0.7,3.2 1.3,4.8 -3,-0.3 -6.5,1.4 -3.2,13.1 2.2,8.4 4.5,10.8 6.2,11 z"
+       id="path4831"
+       style="fill:#cccccc" /></g></g></svg>

+ 117 - 0
test/test_bcsvgbutton/images/settings_hover.svg

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="settings_glow.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata140"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs138" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview136"
+   showgrid="false"
+   inkscape:zoom="1.1739077"
+   inkscape:cx="256"
+   inkscape:cy="299.2311"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Capa_1" />
+
+
+
+<g
+   id="g105">
+</g>
+<g
+   id="g107">
+</g>
+<g
+   id="g109">
+</g>
+<g
+   id="g111">
+</g>
+<g
+   id="g113">
+</g>
+<g
+   id="g115">
+</g>
+<g
+   id="g117">
+</g>
+<g
+   id="g119">
+</g>
+<g
+   id="g121">
+</g>
+<g
+   id="g123">
+</g>
+<g
+   id="g125">
+</g>
+<g
+   id="g127">
+</g>
+<g
+   id="g129">
+</g>
+<g
+   id="g131">
+</g>
+<g
+   id="g133">
+</g>
+<g
+   transform="translate(13.003678,11.334788)"
+   id="g4835"
+   style="fill:#ffcc00"><g
+     id="g4833"
+     style="fill:#ffcc00"><path
+       inkscape:connector-curvature="0"
+       d="m 475.306,137.101 -30.3,-5.2 c -3,-11.7 -7.4,-22.6 -13.4,-32.8 l 17.9,-25 c 3.3,-4.6 2.8,-11 -1.2,-14.9 l -10.6,-10.7 -10.6,-10.8 c -2.2,-2.3 -5.2,-3.4 -8.2,-3.4 -2.3,0 -4.7,0.7 -6.7,2.1 l -25.2,17.7 c -10.3,-6.2 -21.5,-10.9 -33.5,-13.8 l -5,-30 c -0.9,-5.6 -5.7,-9.8 -11.5,-9.8 l -15.2,-0.1 -15.2,-0.1 v 0 c -5.6,0 -10.5,4.1 -11.5,9.7 l -5.3,30.5 c -11.7,3 -22.6,7.7 -32.7,13.6 l -24.6,-18 c -2.1,-1.5 -4.4,-2.2 -6.8,-2.2 -3,0 -5.9,1.1 -8.2,3.3 l -10.7,10.6 -10.7,10.6 c -4,4 -4.6,10.3 -1.3,14.9 l 17.9,25.3 c -5.9,10.1 -10.5,21.1 -13.4,32.7 l -30,5 c -5.6,0.9 -9.8,5.7 -9.8,11.5 l -0.1,15.2 -0.1,15.2 c 0,5.6 4.1,10.6 9.7,11.6 l 30.5,5.3 c 3,11.7 7.7,22.6 13.6,32.7 l -17.8,24.7 c -3.3,4.6 -2.8,11 1.2,14.9 l 10.6,10.7 10.6,10.7 c 2.2,2.3 5.2,3.4 8.2,3.4 2.3,0 4.7,-0.7 6.7,-2.1 l 25.3,-17.9 c 9.8,5.8 20.7,10.4 31.9,13.3 l 4.9,30.3 c 0.9,5.6 5.7,9.8 11.5,9.8 l 15.2,0.1 15.2,0.1 v 0 c 5.6,0 10.5,-4.1 11.5,-9.7 l 5.2,-30.3 c 11.7,-3 22.6,-7.4 32.8,-13.4 l 25,17.9 c 2.1,1.5 4.4,2.2 6.8,2.2 3,0 5.9,-1.1 8.2,-3.3 l 10.7,-10.6 10.7,-10.6 c 4,-4 4.6,-10.3 1.3,-14.9 l -17.7,-25.2 c 6.1,-10.1 10.6,-21.1 13.7,-32.7 l 30.3,-4.9 c 5.6,-0.9 9.8,-5.7 9.8,-11.5 l 0.1,-15.2 0.1,-15.2 c -0.2,-5.5 -4.3,-10.3 -9.8,-11.3 z m -130.3,125.6 c -7.7,1.8 -15.4,2.6 -23,2.6 -46.6,0 -88.7,-32 -99.6,-79.4 -12.6,-55 21.7,-109.9 76.8,-122.6 7.7,-1.8 15.4,-2.6 23,-2.6 46.6,0 88.7,32 99.6,79.4 12.6,55.1 -21.8,110 -76.8,122.6 z"
+       id="path4823"
+       style="fill:#ffcc00" /><path
+       inkscape:connector-curvature="0"
+       d="m 380.606,198.201 c -18.1,-4.6 -32.8,-14.9 -32.8,-14.9 l -11.5,36.2 -2.2,6.8 v -0.1 l -1.9,5.8 -6,-17.1 c 15.3,-21.3 -4,-20.5 -4,-20.5 0,0 -19.3,-0.8 -4,20.5 l -6.1,17.3 -1.9,-5.8 -13.6,-43 c 0,0 -14.7,10.3 -32.8,14.9 -9,2.3 -12.3,10 -13.3,17.2 16.2,22.3 42.3,36.2 71.5,36.2 6.7,0 13.4,-0.8 19.9,-2.3 21.1,-4.9 39.4,-17 51.9,-34.4 -1.1,-7.1 -4.4,-14.6 -13.2,-16.8 z"
+       id="path4825"
+       style="fill:#ffcc00" /><path
+       inkscape:connector-curvature="0"
+       d="m 163.606,352.901 c 2.8,-2 3.7,-5.7 2.2,-8.8 l -8.1,-16.8 c 4.6,-5.5 8.4,-11.6 11.4,-18.2 h 18.6 c 3.5,0 6.4,-2.5 7,-5.9 l 1.5,-9.1 1.5,-9.1 c 0.4,-3.3 -1.6,-6.6 -4.8,-7.7 l -17.6,-6.1 c -0.6,-7.3 -2.2,-14.3 -4.8,-20.9 l 13.2,-13.2 c 2.4,-2.5 2.7,-6.3 0.8,-9 l -5.3,-7.5 -5.3,-7.5 c -1.1,-1.6 -2.8,-2.6 -4.6,-2.8 -1.4,-0.2 -2.9,0 -4.2,0.6 l -16.8,8.1 c -5.5,-4.7 -11.8,-8.6 -18.7,-11.6 v -18.4 c 0,-3.5 -2.5,-6.4 -5.9,-7 l -9.1,-1.5 -9.1,-1.5 v 0 c -3.3,-0.5 -6.7,1.4 -7.8,4.7 l -6.2,17.7 c -7.3,0.6 -14.3,2.4 -20.9,4.9 l -12.9,-13.2 c -1.1,-1.1 -2.4,-1.7 -3.8,-2 -1.8,-0.3 -3.7,0.1 -5.2,1.2 l -7.5,5.3 -7.5,5.3 c -2.8,2 -3.7,5.7 -2.2,8.8 l 8.2,16.9 c -4.5,5.5 -8.3,11.6 -11.2,18.2 h -18.4 c -3.5,0 -6.4,2.5 -7,5.9 l -1.5,9.1 -1.5,9.1 c -0.6,3.4 1.4,6.7 4.7,7.9 l 17.7,6.2 c 0.6,7.3 2.4,14.3 4.9,20.9 l -13,13.1 c -2.4,2.5 -2.7,6.3 -0.8,9 l 5.3,7.5 5.3,7.5 c 1.1,1.6 2.8,2.6 4.6,2.8 1.4,0.2 2.9,0 4.2,-0.6 l 16.9,-8.2 c 5.3,4.4 11.3,8.2 17.8,11.1 v 18.6 c 0,3.5 2.5,6.4 5.9,7 l 9.1,1.5 9.1,1.5 v 0 c 3.3,0.5 6.7,-1.4 7.8,-4.7 l 6.1,-17.6 c 7.3,-0.6 14.3,-2.2 20.9,-4.8 l 13.2,13.2 c 1.1,1.1 2.4,1.7 3.8,2 1.8,0.3 3.7,-0.1 5.2,-1.2 l 7.5,-5.3 z m -24.6,-71.7 c -1.8,22.2 -21.3,38.7 -43.5,36.9 -22.2,-1.8 -38.7,-21.3 -36.9,-43.5 1.8,-22.2 21.3,-38.7 43.5,-36.9 22.2,1.8 38.7,21.3 36.9,43.5 z"
+       id="path4827"
+       style="fill:#ffcc00" /><path
+       inkscape:connector-curvature="0"
+       d="m 305.106,413.401 -13.7,-6.5 c 0.2,-5.8 -0.5,-11.6 -2,-17.4 l 11.8,-9.5 c 2.2,-1.8 2.8,-4.8 1.4,-7.3 l -3.7,-6.5 -3.7,-6.5 c -1.4,-2.3 -4.4,-3.4 -6.9,-2.5 l -14.3,5.1 c -4.1,-4.3 -8.7,-7.9 -13.7,-10.8 l 1.6,-15.1 c 0.3,-2.8 -1.5,-5.4 -4.1,-6.1 l -7.2,-2 -7.2,-2 c -1.5,-0.4 -3.1,-0.2 -4.4,0.5 -1,0.6 -1.8,1.4 -2.4,2.5 l -6.5,13.7 c -5.9,-0.2 -11.9,0.5 -17.7,2.2 l -9.4,-11.7 c -1.8,-2.2 -4.8,-2.8 -7.3,-1.4 l -6.5,3.7 -6.5,3.7 v 0 c -2.4,1.4 -3.5,4.3 -2.6,6.9 l 5.1,14.4 c -4.3,4.1 -7.9,8.8 -10.7,13.7 l -14.9,-1.8 c -1.2,-0.1 -2.4,0.1 -3.4,0.7 -1.3,0.7 -2.3,1.9 -2.7,3.4 l -2,7.2 -2,7.2 c -0.8,2.7 0.5,5.5 3.1,6.7 l 13.8,6.5 c -0.1,5.8 0.6,11.6 2.2,17.3 l -11.7,9.4 c -2.2,1.8 -2.8,4.8 -1.4,7.3 l 3.7,6.5 3.7,6.5 c 1.4,2.4 4.3,3.6 7,2.6 l 14.4,-5.1 c 4.1,4.3 8.8,7.9 13.7,10.7 l -1.6,14.9 c -0.3,2.8 1.5,5.4 4.1,6.1 l 7.2,2 7.2,2 c 1.5,0.4 3.1,0.2 4.4,-0.5 1,-0.6 1.8,-1.4 2.4,-2.5 l 6.5,-13.8 c 5.6,0.1 11.4,-0.6 16.9,-2 l 9.5,11.8 c 1.8,2.2 4.8,2.8 7.3,1.4 l 6.5,-3.7 6.5,-3.7 v 0 c 2.4,-1.4 3.5,-4.3 2.6,-6.9 l -5.1,-14.3 c 4.3,-4.1 7.9,-8.7 10.8,-13.7 l 15.1,1.6 c 1.2,0.1 2.4,-0.1 3.4,-0.7 1.3,-0.7 2.3,-1.9 2.7,-3.4 l 2,-7.2 2,-7.2 c 0.5,-2.3 -0.8,-5.2 -3.3,-6.4 z m -57.9,19.3 c -15,10.1 -35.4,6.2 -45.6,-8.8 -10.1,-15 -6.2,-35.4 8.8,-45.6 15,-10.2 35.4,-6.2 45.6,8.8 10.2,15 6.2,35.4 -8.8,45.6 z"
+       id="path4829"
+       style="fill:#ffcc00" /><path
+       inkscape:connector-curvature="0"
+       d="m 291.506,159.201 c 1.6,10.2 9.4,23.1 22.3,27.6 5.3,1.9 11.1,1.9 16.4,0 12.7,-4.6 20.8,-17.5 22.4,-27.6 1.7,-0.1 4,-2.5 6.4,-11.1 3.3,-11.7 -0.2,-13.4 -3.2,-13.1 0.6,-1.6 1,-3.2 1.3,-4.8 5,-30.3 -9.9,-31.3 -9.9,-31.3 0,0 -2.5,-4.8 -9,-8.3 -4.4,-2.6 -10.4,-4.6 -18.4,-3.9 -2.6,0.1 -5,0.6 -7.3,1.4 v 0 c -2.9,1 -5.6,2.4 -8.1,4.1 -3,1.9 -5.8,4.2 -8.3,6.9 -3.9,4 -7.5,9.3 -9,15.8 -1.3,4.9 -1,9.9 0.1,15.4 v 0 c 0.3,1.6 0.7,3.2 1.3,4.8 -3,-0.3 -6.5,1.4 -3.2,13.1 2.2,8.4 4.5,10.8 6.2,11 z"
+       id="path4831"
+       style="fill:#ffcc00" /></g></g></svg>

+ 117 - 0
test/test_bcsvgbutton/images/settings_on.svg

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="settings_on.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata140"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs138" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview136"
+   showgrid="false"
+   inkscape:zoom="1.1739077"
+   inkscape:cx="256"
+   inkscape:cy="299.2311"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Capa_1" />
+
+
+
+<g
+   id="g105">
+</g>
+<g
+   id="g107">
+</g>
+<g
+   id="g109">
+</g>
+<g
+   id="g111">
+</g>
+<g
+   id="g113">
+</g>
+<g
+   id="g115">
+</g>
+<g
+   id="g117">
+</g>
+<g
+   id="g119">
+</g>
+<g
+   id="g121">
+</g>
+<g
+   id="g123">
+</g>
+<g
+   id="g125">
+</g>
+<g
+   id="g127">
+</g>
+<g
+   id="g129">
+</g>
+<g
+   id="g131">
+</g>
+<g
+   id="g133">
+</g>
+<g
+   transform="translate(13.003678,11.334788)"
+   id="g4835"
+   style="fill:#00ff00"><g
+     id="g4833"
+     style="fill:#00ff00"><path
+       inkscape:connector-curvature="0"
+       d="m 475.306,137.101 -30.3,-5.2 c -3,-11.7 -7.4,-22.6 -13.4,-32.8 l 17.9,-25 c 3.3,-4.6 2.8,-11 -1.2,-14.9 l -10.6,-10.7 -10.6,-10.8 c -2.2,-2.3 -5.2,-3.4 -8.2,-3.4 -2.3,0 -4.7,0.7 -6.7,2.1 l -25.2,17.7 c -10.3,-6.2 -21.5,-10.9 -33.5,-13.8 l -5,-30 c -0.9,-5.6 -5.7,-9.8 -11.5,-9.8 l -15.2,-0.1 -15.2,-0.1 v 0 c -5.6,0 -10.5,4.1 -11.5,9.7 l -5.3,30.5 c -11.7,3 -22.6,7.7 -32.7,13.6 l -24.6,-18 c -2.1,-1.5 -4.4,-2.2 -6.8,-2.2 -3,0 -5.9,1.1 -8.2,3.3 l -10.7,10.6 -10.7,10.6 c -4,4 -4.6,10.3 -1.3,14.9 l 17.9,25.3 c -5.9,10.1 -10.5,21.1 -13.4,32.7 l -30,5 c -5.6,0.9 -9.8,5.7 -9.8,11.5 l -0.1,15.2 -0.1,15.2 c 0,5.6 4.1,10.6 9.7,11.6 l 30.5,5.3 c 3,11.7 7.7,22.6 13.6,32.7 l -17.8,24.7 c -3.3,4.6 -2.8,11 1.2,14.9 l 10.6,10.7 10.6,10.7 c 2.2,2.3 5.2,3.4 8.2,3.4 2.3,0 4.7,-0.7 6.7,-2.1 l 25.3,-17.9 c 9.8,5.8 20.7,10.4 31.9,13.3 l 4.9,30.3 c 0.9,5.6 5.7,9.8 11.5,9.8 l 15.2,0.1 15.2,0.1 v 0 c 5.6,0 10.5,-4.1 11.5,-9.7 l 5.2,-30.3 c 11.7,-3 22.6,-7.4 32.8,-13.4 l 25,17.9 c 2.1,1.5 4.4,2.2 6.8,2.2 3,0 5.9,-1.1 8.2,-3.3 l 10.7,-10.6 10.7,-10.6 c 4,-4 4.6,-10.3 1.3,-14.9 l -17.7,-25.2 c 6.1,-10.1 10.6,-21.1 13.7,-32.7 l 30.3,-4.9 c 5.6,-0.9 9.8,-5.7 9.8,-11.5 l 0.1,-15.2 0.1,-15.2 c -0.2,-5.5 -4.3,-10.3 -9.8,-11.3 z m -130.3,125.6 c -7.7,1.8 -15.4,2.6 -23,2.6 -46.6,0 -88.7,-32 -99.6,-79.4 -12.6,-55 21.7,-109.9 76.8,-122.6 7.7,-1.8 15.4,-2.6 23,-2.6 46.6,0 88.7,32 99.6,79.4 12.6,55.1 -21.8,110 -76.8,122.6 z"
+       id="path4823"
+       style="fill:#00ff00" /><path
+       inkscape:connector-curvature="0"
+       d="m 380.606,198.201 c -18.1,-4.6 -32.8,-14.9 -32.8,-14.9 l -11.5,36.2 -2.2,6.8 v -0.1 l -1.9,5.8 -6,-17.1 c 15.3,-21.3 -4,-20.5 -4,-20.5 0,0 -19.3,-0.8 -4,20.5 l -6.1,17.3 -1.9,-5.8 -13.6,-43 c 0,0 -14.7,10.3 -32.8,14.9 -9,2.3 -12.3,10 -13.3,17.2 16.2,22.3 42.3,36.2 71.5,36.2 6.7,0 13.4,-0.8 19.9,-2.3 21.1,-4.9 39.4,-17 51.9,-34.4 -1.1,-7.1 -4.4,-14.6 -13.2,-16.8 z"
+       id="path4825"
+       style="fill:#00ff00" /><path
+       inkscape:connector-curvature="0"
+       d="m 163.606,352.901 c 2.8,-2 3.7,-5.7 2.2,-8.8 l -8.1,-16.8 c 4.6,-5.5 8.4,-11.6 11.4,-18.2 h 18.6 c 3.5,0 6.4,-2.5 7,-5.9 l 1.5,-9.1 1.5,-9.1 c 0.4,-3.3 -1.6,-6.6 -4.8,-7.7 l -17.6,-6.1 c -0.6,-7.3 -2.2,-14.3 -4.8,-20.9 l 13.2,-13.2 c 2.4,-2.5 2.7,-6.3 0.8,-9 l -5.3,-7.5 -5.3,-7.5 c -1.1,-1.6 -2.8,-2.6 -4.6,-2.8 -1.4,-0.2 -2.9,0 -4.2,0.6 l -16.8,8.1 c -5.5,-4.7 -11.8,-8.6 -18.7,-11.6 v -18.4 c 0,-3.5 -2.5,-6.4 -5.9,-7 l -9.1,-1.5 -9.1,-1.5 v 0 c -3.3,-0.5 -6.7,1.4 -7.8,4.7 l -6.2,17.7 c -7.3,0.6 -14.3,2.4 -20.9,4.9 l -12.9,-13.2 c -1.1,-1.1 -2.4,-1.7 -3.8,-2 -1.8,-0.3 -3.7,0.1 -5.2,1.2 l -7.5,5.3 -7.5,5.3 c -2.8,2 -3.7,5.7 -2.2,8.8 l 8.2,16.9 c -4.5,5.5 -8.3,11.6 -11.2,18.2 h -18.4 c -3.5,0 -6.4,2.5 -7,5.9 l -1.5,9.1 -1.5,9.1 c -0.6,3.4 1.4,6.7 4.7,7.9 l 17.7,6.2 c 0.6,7.3 2.4,14.3 4.9,20.9 l -13,13.1 c -2.4,2.5 -2.7,6.3 -0.8,9 l 5.3,7.5 5.3,7.5 c 1.1,1.6 2.8,2.6 4.6,2.8 1.4,0.2 2.9,0 4.2,-0.6 l 16.9,-8.2 c 5.3,4.4 11.3,8.2 17.8,11.1 v 18.6 c 0,3.5 2.5,6.4 5.9,7 l 9.1,1.5 9.1,1.5 v 0 c 3.3,0.5 6.7,-1.4 7.8,-4.7 l 6.1,-17.6 c 7.3,-0.6 14.3,-2.2 20.9,-4.8 l 13.2,13.2 c 1.1,1.1 2.4,1.7 3.8,2 1.8,0.3 3.7,-0.1 5.2,-1.2 l 7.5,-5.3 z m -24.6,-71.7 c -1.8,22.2 -21.3,38.7 -43.5,36.9 -22.2,-1.8 -38.7,-21.3 -36.9,-43.5 1.8,-22.2 21.3,-38.7 43.5,-36.9 22.2,1.8 38.7,21.3 36.9,43.5 z"
+       id="path4827"
+       style="fill:#00ff00" /><path
+       inkscape:connector-curvature="0"
+       d="m 305.106,413.401 -13.7,-6.5 c 0.2,-5.8 -0.5,-11.6 -2,-17.4 l 11.8,-9.5 c 2.2,-1.8 2.8,-4.8 1.4,-7.3 l -3.7,-6.5 -3.7,-6.5 c -1.4,-2.3 -4.4,-3.4 -6.9,-2.5 l -14.3,5.1 c -4.1,-4.3 -8.7,-7.9 -13.7,-10.8 l 1.6,-15.1 c 0.3,-2.8 -1.5,-5.4 -4.1,-6.1 l -7.2,-2 -7.2,-2 c -1.5,-0.4 -3.1,-0.2 -4.4,0.5 -1,0.6 -1.8,1.4 -2.4,2.5 l -6.5,13.7 c -5.9,-0.2 -11.9,0.5 -17.7,2.2 l -9.4,-11.7 c -1.8,-2.2 -4.8,-2.8 -7.3,-1.4 l -6.5,3.7 -6.5,3.7 v 0 c -2.4,1.4 -3.5,4.3 -2.6,6.9 l 5.1,14.4 c -4.3,4.1 -7.9,8.8 -10.7,13.7 l -14.9,-1.8 c -1.2,-0.1 -2.4,0.1 -3.4,0.7 -1.3,0.7 -2.3,1.9 -2.7,3.4 l -2,7.2 -2,7.2 c -0.8,2.7 0.5,5.5 3.1,6.7 l 13.8,6.5 c -0.1,5.8 0.6,11.6 2.2,17.3 l -11.7,9.4 c -2.2,1.8 -2.8,4.8 -1.4,7.3 l 3.7,6.5 3.7,6.5 c 1.4,2.4 4.3,3.6 7,2.6 l 14.4,-5.1 c 4.1,4.3 8.8,7.9 13.7,10.7 l -1.6,14.9 c -0.3,2.8 1.5,5.4 4.1,6.1 l 7.2,2 7.2,2 c 1.5,0.4 3.1,0.2 4.4,-0.5 1,-0.6 1.8,-1.4 2.4,-2.5 l 6.5,-13.8 c 5.6,0.1 11.4,-0.6 16.9,-2 l 9.5,11.8 c 1.8,2.2 4.8,2.8 7.3,1.4 l 6.5,-3.7 6.5,-3.7 v 0 c 2.4,-1.4 3.5,-4.3 2.6,-6.9 l -5.1,-14.3 c 4.3,-4.1 7.9,-8.7 10.8,-13.7 l 15.1,1.6 c 1.2,0.1 2.4,-0.1 3.4,-0.7 1.3,-0.7 2.3,-1.9 2.7,-3.4 l 2,-7.2 2,-7.2 c 0.5,-2.3 -0.8,-5.2 -3.3,-6.4 z m -57.9,19.3 c -15,10.1 -35.4,6.2 -45.6,-8.8 -10.1,-15 -6.2,-35.4 8.8,-45.6 15,-10.2 35.4,-6.2 45.6,8.8 10.2,15 6.2,35.4 -8.8,45.6 z"
+       id="path4829"
+       style="fill:#00ff00" /><path
+       inkscape:connector-curvature="0"
+       d="m 291.506,159.201 c 1.6,10.2 9.4,23.1 22.3,27.6 5.3,1.9 11.1,1.9 16.4,0 12.7,-4.6 20.8,-17.5 22.4,-27.6 1.7,-0.1 4,-2.5 6.4,-11.1 3.3,-11.7 -0.2,-13.4 -3.2,-13.1 0.6,-1.6 1,-3.2 1.3,-4.8 5,-30.3 -9.9,-31.3 -9.9,-31.3 0,0 -2.5,-4.8 -9,-8.3 -4.4,-2.6 -10.4,-4.6 -18.4,-3.9 -2.6,0.1 -5,0.6 -7.3,1.4 v 0 c -2.9,1 -5.6,2.4 -8.1,4.1 -3,1.9 -5.8,4.2 -8.3,6.9 -3.9,4 -7.5,9.3 -9,15.8 -1.3,4.9 -1,9.9 0.1,15.4 v 0 c 0.3,1.6 0.7,3.2 1.3,4.8 -3,-0.3 -6.5,1.4 -3.2,13.1 2.2,8.4 4.5,10.8 6.2,11 z"
+       id="path4831"
+       style="fill:#00ff00" /></g></g></svg>

+ 60 - 0
test/test_bcsvgbutton/images/stop.svg

@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="STOP"
+   x="0px"
+   y="0px"
+   width="64px"
+   height="64px"
+   viewBox="0 0 64 64"
+   enable-background="new 0 0 64 64"
+   xml:space="preserve"
+   sodipodi:docname="track_stop.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata3881"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3879" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview3877"
+   showgrid="false"
+   inkscape:zoom="3.6875"
+   inkscape:cx="32"
+   inkscape:cy="32"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="STOP" />
+<path
+   d="M32,5c14.888,0,27,12.112,27,27S46.888,59,32,59S5,46.888,5,32S17.112,5,32,5 M32,2C15.433,2,2,15.432,2,32  c0,16.568,13.433,30,30,30s30-13.432,30-30C62,15.432,48.567,2,32,2L32,2z"
+   id="path3872" />
+<path
+   d="M41.438,17.563H22.563c-2.75,0-5,2.25-5,5v18.875c0,2.75,2.25,5,5,5h18.875c2.75,0,5-2.25,5-5V22.563  C46.438,19.813,44.188,17.563,41.438,17.563z M43.438,40.438c0,1.65-1.35,3-3,3H23.563c-1.65,0-3-1.35-3-3V23.563c0-1.65,1.35-3,3-3  h16.875c1.65,0,3,1.35,3,3V40.438z"
+   id="path3874" />
+<path
+   style="fill:#e6e6e6;stroke-width:0.27118644"
+   d="M 26.753972,61.415035 C 20.432115,60.220673 14.783481,57.152052 10.386948,52.523645 6.8913402,48.84368 4.393952,44.37197 3.056033,39.397247 2.4141997,37.010747 2.3429338,36.271479 2.3429338,32 c 0,-4.27148 0.071266,-5.010747 0.7130992,-7.397247 0.8160038,-3.034111 2.5878648,-6.945147 4.2659312,-9.41621 C 8.8282156,12.96849 11.849404,9.8048925 14.082266,8.1075826 16.5567,6.2266419 21.30712,3.939221 24.542373,3.0708351 26.996441,2.4121297 27.70538,2.3429338 32,2.3429338 c 4.271479,0 5.010747,0.071266 7.397247,0.7130992 3.03411,0.8160038 6.945148,2.5878648 9.416209,4.2659312 2.218053,1.5062514 5.381652,4.5274398 7.078962,6.7603018 1.880941,2.474434 4.16836,7.224854 5.036748,10.460107 0.658704,2.454068 0.7279,3.163007 0.7279,7.457627 0,4.278156 -0.07067,5.008618 -0.717218,7.413481 -2.832822,10.536802 -11.094782,18.785635 -21.542601,21.508374 -3.383536,0.88176 -9.353808,1.114647 -12.643275,0.49318 z M 38.836049,58.209752 C 48.298145,55.761445 55.681511,48.374294 58.24253,38.793313 59.209142,35.177134 59.262839,29.248876 58.361475,25.661143 55.894701,15.842538 48.563596,8.3726142 38.836049,5.7659897 36.536323,5.1497483 35.671816,5.0605345 32,5.0605345 c -3.655598,0 -4.540912,0.090523 -6.793312,0.6946145 C 15.626401,8.3245722 8.3250362,15.613958 5.7659897,25.163952 5.1497483,27.463676 5.0605345,28.328183 5.0605345,32 c 0,3.671816 0.089214,4.536323 0.7054552,6.836049 2.0576567,7.678877 7.0926253,13.840152 14.3018073,17.501071 5.420397,2.752551 12.599308,3.468838 18.768252,1.872632 z"
+   id="path3883"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#e6e6e6;stroke-width:0.27118644"
+   d="m 20.745763,45.860328 c -1.312807,-0.605901 -2.13901,-1.464414 -2.698922,-2.804471 -0.353768,-0.846686 -0.418786,-2.593277 -0.413767,-11.114943 0.0054,-9.249429 0.04859,-10.20278 0.506599,-11.195151 0.605899,-1.312807 1.464413,-2.13901 2.80447,-2.698922 1.494489,-0.624437 20.617225,-0.624437 22.111714,0 1.340056,0.559912 2.19857,1.386115 2.804471,2.698922 0.458547,0.993538 0.500643,1.939812 0.500643,11.254237 0,9.314425 -0.0421,10.260699 -0.500643,11.254237 -0.605901,1.312808 -1.464415,2.13901 -2.804471,2.698921 -0.846686,0.353768 -2.593277,0.418788 -11.114943,0.413768 -9.249429,-0.0054 -10.20278,-0.04859 -11.195151,-0.506598 z m 20.720362,-2.5536 c 0.508064,-0.178023 1.17925,-0.668219 1.491525,-1.089326 C 43.508385,41.47473 43.525424,41.16811 43.525424,32 c 0,-9.16811 -0.01704,-9.47473 -0.567774,-10.217402 -0.977952,-1.318781 -1.700434,-1.411776 -11.093243,-1.427887 -9.746853,-0.01672 -10.128942,0.04834 -11.055982,1.882577 -0.435213,0.861108 -0.472946,1.796351 -0.40678,10.082255 0.07015,8.785118 0.09456,9.162257 0.640705,9.898305 0.312275,0.420861 0.983461,0.910857 1.491525,1.08888 1.291572,0.452558 17.640678,0.452558 18.93225,0 z"
+   id="path3885"
+   inkscape:connector-curvature="0" /></svg>

+ 64 - 0
test/test_bcsvgbutton/images/stop_hover.svg

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="STOP"
+   x="0px"
+   y="0px"
+   width="64px"
+   height="64px"
+   viewBox="0 0 64 64"
+   enable-background="new 0 0 64 64"
+   xml:space="preserve"
+   sodipodi:docname="track_stop_glow.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata3881"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3879" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview3877"
+   showgrid="false"
+   inkscape:zoom="3.6875"
+   inkscape:cx="32"
+   inkscape:cy="32"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="STOP" />
+<path
+   d="M32,5c14.888,0,27,12.112,27,27S46.888,59,32,59S5,46.888,5,32S17.112,5,32,5 M32,2C15.433,2,2,15.432,2,32  c0,16.568,13.433,30,30,30s30-13.432,30-30C62,15.432,48.567,2,32,2L32,2z"
+   id="path3872" />
+<path
+   d="M41.438,17.563H22.563c-2.75,0-5,2.25-5,5v18.875c0,2.75,2.25,5,5,5h18.875c2.75,0,5-2.25,5-5V22.563  C46.438,19.813,44.188,17.563,41.438,17.563z M43.438,40.438c0,1.65-1.35,3-3,3H23.563c-1.65,0-3-1.35-3-3V23.563c0-1.65,1.35-3,3-3  h16.875c1.65,0,3,1.35,3,3V40.438z"
+   id="path3874" />
+<path
+   style="fill:#e6e6e6;stroke-width:0.27118644"
+   d="M 26.753972,61.415035 C 20.432115,60.220673 14.783481,57.152052 10.386948,52.523645 6.8913402,48.84368 4.393952,44.37197 3.056033,39.397247 2.4141997,37.010747 2.3429338,36.271479 2.3429338,32 c 0,-4.27148 0.071266,-5.010747 0.7130992,-7.397247 0.8160038,-3.034111 2.5878648,-6.945147 4.2659312,-9.41621 C 8.8282156,12.96849 11.849404,9.8048925 14.082266,8.1075826 16.5567,6.2266419 21.30712,3.939221 24.542373,3.0708351 26.996441,2.4121297 27.70538,2.3429338 32,2.3429338 c 4.271479,0 5.010747,0.071266 7.397247,0.7130992 3.03411,0.8160038 6.945148,2.5878648 9.416209,4.2659312 2.218053,1.5062514 5.381652,4.5274398 7.078962,6.7603018 1.880941,2.474434 4.16836,7.224854 5.036748,10.460107 0.658704,2.454068 0.7279,3.163007 0.7279,7.457627 0,4.278156 -0.07067,5.008618 -0.717218,7.413481 -2.832822,10.536802 -11.094782,18.785635 -21.542601,21.508374 -3.383536,0.88176 -9.353808,1.114647 -12.643275,0.49318 z M 38.836049,58.209752 C 48.298145,55.761445 55.681511,48.374294 58.24253,38.793313 59.209142,35.177134 59.262839,29.248876 58.361475,25.661143 55.894701,15.842538 48.563596,8.3726142 38.836049,5.7659897 36.536323,5.1497483 35.671816,5.0605345 32,5.0605345 c -3.655598,0 -4.540912,0.090523 -6.793312,0.6946145 C 15.626401,8.3245722 8.3250362,15.613958 5.7659897,25.163952 5.1497483,27.463676 5.0605345,28.328183 5.0605345,32 c 0,3.671816 0.089214,4.536323 0.7054552,6.836049 2.0576567,7.678877 7.0926253,13.840152 14.3018073,17.501071 5.420397,2.752551 12.599308,3.468838 18.768252,1.872632 z"
+   id="path3883"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.27118644"
+   d="m 20.745763,45.860328 c -1.312807,-0.605901 -2.13901,-1.464414 -2.698922,-2.804471 -0.353768,-0.846686 -0.418786,-2.593277 -0.413767,-11.114943 0.0054,-9.249429 0.04859,-10.20278 0.506599,-11.195151 0.605899,-1.312807 1.464413,-2.13901 2.80447,-2.698922 1.494489,-0.624437 20.617225,-0.624437 22.111714,0 1.340056,0.559912 2.19857,1.386115 2.804471,2.698922 0.458547,0.993538 0.500643,1.939812 0.500643,11.254237 0,9.314425 -0.0421,10.260699 -0.500643,11.254237 -0.605901,1.312808 -1.464415,2.13901 -2.804471,2.698921 -0.846686,0.353768 -2.593277,0.418788 -11.114943,0.413768 -9.249429,-0.0054 -10.20278,-0.04859 -11.195151,-0.506598 z m 20.720362,-2.5536 c 0.508064,-0.178023 1.17925,-0.668219 1.491525,-1.089326 C 43.508385,41.47473 43.525424,41.16811 43.525424,32 c 0,-9.16811 -0.01704,-9.47473 -0.567774,-10.217402 -0.977952,-1.318781 -1.700434,-1.411776 -11.093243,-1.427887 -9.746853,-0.01672 -10.128942,0.04834 -11.055982,1.882577 -0.435213,0.861108 -0.472946,1.796351 -0.40678,10.082255 0.07015,8.785118 0.09456,9.162257 0.640705,9.898305 0.312275,0.420861 0.983461,0.910857 1.491525,1.08888 1.291572,0.452558 17.640678,0.452558 18.93225,0 z"
+   id="path3885"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.27118644"
+   d="M 26.033898,61.155694 C 15.079271,58.695073 6.6218115,50.763129 3.3319991,39.864407 2.3912143,36.74771 2.1344264,29.761209 2.832233,26.267133 3.4076245,23.386017 5.2678452,18.764627 6.9176645,16.1176 8.4547501,13.651448 12.222398,9.6212084 14.530491,7.9741877 16.665318,6.4508065 21.775548,3.9988833 24.40678,3.2354769 27.283957,2.4007136 34.481586,2.1829153 37.732868,2.832233 c 2.881114,0.5753915 7.502506,2.4356122 10.149532,4.0854315 2.466153,1.5370856 6.496391,5.3047335 8.143412,7.6128265 1.523381,2.134827 3.975305,7.245057 4.738711,9.876289 0.839133,2.892241 1.053381,10.084914 0.396903,13.324762 -2.232116,11.015948 -10.771433,20.040914 -21.8049,23.044987 -2.76368,0.752466 -10.660184,0.977201 -13.322628,0.379165 z M 38.915254,58.31312 c 2.791349,-0.751477 7.137744,-2.835056 9.24393,-4.431365 2.097467,-1.589703 5.096488,-4.745747 6.442112,-6.779407 2.282726,-3.449917 4.471198,-9.378343 4.184101,-11.334456 -0.06336,-0.431664 0.0024,-0.784841 0.146419,-0.784841 0.478831,0 0.02321,-7.507808 -0.598292,-9.858762 C 57.69808,22.720584 55.82083,18.58541 54.481039,16.638088 53.154224,14.709629 49.722137,11.215083 47.824141,9.8600458 45.684106,8.3322099 41.683669,6.4414658 38.915254,5.6494015 37.026012,5.1088751 36.132716,5.0286934 32,5.0286934 c -5.391433,0 -7.210536,0.3677619 -11.30125,2.2847355 -3.101079,1.4532146 -5.013709,2.7764211 -7.625118,5.2752531 -3.4675327,3.318049 -6.0211064,7.616645 -7.4261887,12.500986 -0.5504087,1.913328 -0.6206273,2.731148 -0.6049679,7.045925 0.016293,4.489231 0.075992,5.072665 0.7431721,7.262872 1.4786885,4.854213 3.8722904,8.763151 7.4700625,12.199195 4.010641,3.830354 8.433026,6.136927 13.684378,7.137328 2.889642,0.55049 9.187465,0.328624 11.975166,-0.421868 z"
+   id="path4117"
+   inkscape:connector-curvature="0" /></svg>

+ 76 - 0
test/test_bcsvgbutton/images/stop_on.svg

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="STOP"
+   x="0px"
+   y="0px"
+   width="64px"
+   height="64px"
+   viewBox="0 0 64 64"
+   enable-background="new 0 0 64 64"
+   xml:space="preserve"
+   sodipodi:docname="track_stop_on.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
+   id="metadata3881"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs3879" /><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1017"
+   id="namedview3877"
+   showgrid="false"
+   inkscape:zoom="3.6875"
+   inkscape:cx="32"
+   inkscape:cy="32"
+   inkscape:window-x="-8"
+   inkscape:window-y="-8"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="STOP" />
+<path
+   d="M32,5c14.888,0,27,12.112,27,27S46.888,59,32,59S5,46.888,5,32S17.112,5,32,5 M32,2C15.433,2,2,15.432,2,32  c0,16.568,13.433,30,30,30s30-13.432,30-30C62,15.432,48.567,2,32,2L32,2z"
+   id="path3872" />
+<path
+   d="M41.438,17.563H22.563c-2.75,0-5,2.25-5,5v18.875c0,2.75,2.25,5,5,5h18.875c2.75,0,5-2.25,5-5V22.563  C46.438,19.813,44.188,17.563,41.438,17.563z M43.438,40.438c0,1.65-1.35,3-3,3H23.563c-1.65,0-3-1.35-3-3V23.563c0-1.65,1.35-3,3-3  h16.875c1.65,0,3,1.35,3,3V40.438z"
+   id="path3874" />
+<path
+   style="fill:#e6e6e6;stroke-width:0.27118644"
+   d="M 26.753972,61.415035 C 20.432115,60.220673 14.783481,57.152052 10.386948,52.523645 6.8913402,48.84368 4.393952,44.37197 3.056033,39.397247 2.4141997,37.010747 2.3429338,36.271479 2.3429338,32 c 0,-4.27148 0.071266,-5.010747 0.7130992,-7.397247 0.8160038,-3.034111 2.5878648,-6.945147 4.2659312,-9.41621 C 8.8282156,12.96849 11.849404,9.8048925 14.082266,8.1075826 16.5567,6.2266419 21.30712,3.939221 24.542373,3.0708351 26.996441,2.4121297 27.70538,2.3429338 32,2.3429338 c 4.271479,0 5.010747,0.071266 7.397247,0.7130992 3.03411,0.8160038 6.945148,2.5878648 9.416209,4.2659312 2.218053,1.5062514 5.381652,4.5274398 7.078962,6.7603018 1.880941,2.474434 4.16836,7.224854 5.036748,10.460107 0.658704,2.454068 0.7279,3.163007 0.7279,7.457627 0,4.278156 -0.07067,5.008618 -0.717218,7.413481 -2.832822,10.536802 -11.094782,18.785635 -21.542601,21.508374 -3.383536,0.88176 -9.353808,1.114647 -12.643275,0.49318 z M 38.836049,58.209752 C 48.298145,55.761445 55.681511,48.374294 58.24253,38.793313 59.209142,35.177134 59.262839,29.248876 58.361475,25.661143 55.894701,15.842538 48.563596,8.3726142 38.836049,5.7659897 36.536323,5.1497483 35.671816,5.0605345 32,5.0605345 c -3.655598,0 -4.540912,0.090523 -6.793312,0.6946145 C 15.626401,8.3245722 8.3250362,15.613958 5.7659897,25.163952 5.1497483,27.463676 5.0605345,28.328183 5.0605345,32 c 0,3.671816 0.089214,4.536323 0.7054552,6.836049 2.0576567,7.678877 7.0926253,13.840152 14.3018073,17.501071 5.420397,2.752551 12.599308,3.468838 18.768252,1.872632 z"
+   id="path3883"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffcc00;stroke-width:0.27118644"
+   d="m 20.745763,45.860328 c -1.312807,-0.605901 -2.13901,-1.464414 -2.698922,-2.804471 -0.353768,-0.846686 -0.418786,-2.593277 -0.413767,-11.114943 0.0054,-9.249429 0.04859,-10.20278 0.506599,-11.195151 0.605899,-1.312807 1.464413,-2.13901 2.80447,-2.698922 1.494489,-0.624437 20.617225,-0.624437 22.111714,0 1.340056,0.559912 2.19857,1.386115 2.804471,2.698922 0.458547,0.993538 0.500643,1.939812 0.500643,11.254237 0,9.314425 -0.0421,10.260699 -0.500643,11.254237 -0.605901,1.312808 -1.464415,2.13901 -2.804471,2.698921 -0.846686,0.353768 -2.593277,0.418788 -11.114943,0.413768 -9.249429,-0.0054 -10.20278,-0.04859 -11.195151,-0.506598 z m 20.720362,-2.5536 c 0.508064,-0.178023 1.17925,-0.668219 1.491525,-1.089326 C 43.508385,41.47473 43.525424,41.16811 43.525424,32 c 0,-9.16811 -0.01704,-9.47473 -0.567774,-10.217402 -0.977952,-1.318781 -1.700434,-1.411776 -11.093243,-1.427887 -9.746853,-0.01672 -10.128942,0.04834 -11.055982,1.882577 -0.435213,0.861108 -0.472946,1.796351 -0.40678,10.082255 0.07015,8.785118 0.09456,9.162257 0.640705,9.898305 0.312275,0.420861 0.983461,0.910857 1.491525,1.08888 1.291572,0.452558 17.640678,0.452558 18.93225,0 z"
+   id="path3885"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.27118644"
+   d="M 26.033898,61.155694 C 15.079271,58.695073 6.6218115,50.763129 3.3319991,39.864407 2.3912143,36.74771 2.1344264,29.761209 2.832233,26.267133 3.4076245,23.386017 5.2678452,18.764627 6.9176645,16.1176 8.4547501,13.651448 12.222398,9.6212084 14.530491,7.9741877 16.665318,6.4508065 21.775548,3.9988833 24.40678,3.2354769 27.283957,2.4007136 34.481586,2.1829153 37.732868,2.832233 c 2.881114,0.5753915 7.502506,2.4356122 10.149532,4.0854315 2.466153,1.5370856 6.496391,5.3047335 8.143412,7.6128265 1.523381,2.134827 3.975305,7.245057 4.738711,9.876289 0.839133,2.892241 1.053381,10.084914 0.396903,13.324762 -2.232116,11.015948 -10.771433,20.040914 -21.8049,23.044987 -2.76368,0.752466 -10.660184,0.977201 -13.322628,0.379165 z M 38.915254,58.31312 c 2.791349,-0.751477 7.137744,-2.835056 9.24393,-4.431365 2.097467,-1.589703 5.096488,-4.745747 6.442112,-6.779407 2.282726,-3.449917 4.471198,-9.378343 4.184101,-11.334456 -0.06336,-0.431664 0.0024,-0.784841 0.146419,-0.784841 0.478831,0 0.02321,-7.507808 -0.598292,-9.858762 C 57.69808,22.720584 55.82083,18.58541 54.481039,16.638088 53.154224,14.709629 49.722137,11.215083 47.824141,9.8600458 45.684106,8.3322099 41.683669,6.4414658 38.915254,5.6494015 37.026012,5.1088751 36.132716,5.0286934 32,5.0286934 c -5.391433,0 -7.210536,0.3677619 -11.30125,2.2847355 -3.101079,1.4532146 -5.013709,2.7764211 -7.625118,5.2752531 -3.4675327,3.318049 -6.0211064,7.616645 -7.4261887,12.500986 -0.5504087,1.913328 -0.6206273,2.731148 -0.6049679,7.045925 0.016293,4.489231 0.075992,5.072665 0.7431721,7.262872 1.4786885,4.854213 3.8722904,8.763151 7.4700625,12.199195 4.010641,3.830354 8.433026,6.136927 13.684378,7.137328 2.889642,0.55049 9.187465,0.328624 11.975166,-0.421868 z"
+   id="path4117"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.27118644"
+   d=""
+   id="path4153"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#00ff00;stroke-width:0.27118644"
+   d="m 26.033898,46.101695 c -3.19385,-0.08632 -5.225162,-0.25501 -5.589927,-0.464214 -1.016384,-0.582926 -2.242042,-2.208317 -2.457364,-3.258801 -0.36081,-1.760271 -0.231307,-20.137009 0.149934,-21.276045 0.493031,-1.473028 2.146652,-2.846954 3.740648,-3.107951 1.703455,-0.278919 18.542167,-0.278919 20.245622,0 1.580255,0.258747 3.24959,1.634185 3.722507,3.067137 0.44154,1.337881 0.44154,20.538477 0,21.876358 -0.406769,1.232518 -2.164933,2.821544 -3.320663,3.001208 -1.402771,0.218067 -10.950644,0.312041 -16.490757,0.162308 z m 15.534134,-2.81003 c 0.479955,-0.203143 1.116714,-0.643074 1.415019,-0.977623 0.520954,-0.584252 0.542373,-0.991821 0.542373,-10.320665 v -9.712393 l -0.657829,-0.700227 c -0.361806,-0.385124 -1.094009,-0.821394 -1.627119,-0.969488 -1.429531,-0.397113 -17.813335,-0.326307 -18.974583,0.082 -0.591801,0.208086 -1.10317,0.662639 -1.43192,1.27283 -0.477465,0.886217 -0.506334,1.572141 -0.435385,10.344794 0.07242,8.954651 0.101445,9.424155 0.618361,10.003153 1.127888,1.263346 1.632589,1.325088 10.923965,1.336353 6.798695,0.0082 8.949424,-0.0719 9.627118,-0.358737 z"
+   id="path4155"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#008000;stroke-width:0.27118644"
+   d="M 22.324335,42.952327 C 20.68133,42.142067 20.610169,41.687404 20.610169,32 c 0,-9.737367 0.06783,-10.160601 1.756855,-10.962095 1.34315,-0.637367 17.922802,-0.637367 19.265952,0 1.689025,0.801494 1.756855,1.224728 1.756855,10.962095 0,9.737367 -0.06783,10.160601 -1.756855,10.962095 -1.337872,0.634862 -18.018603,0.626423 -19.308641,-0.0098 z"
+   id="path4463"
+   inkscape:connector-curvature="0" /></svg>

+ 2 - 2
update_bgracontrols_force.json

@@ -6,9 +6,9 @@
   "UpdatePackageFiles" : [
     {
       "ForceNotify" : true,
-      "InternalVersion" : 13,
+      "InternalVersion" : 14,
       "Name" : "bgracontrols.lpk",
-      "Version" : "4.6.1.0"
+      "Version" : "4.6.2.0"
     },
     {
       "ForceNotify" : false,

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません