Browse Source

Update BCLeaSelector and themes

Boban Spasic 1 year ago
parent
commit
27e2250fff

+ 24 - 16
bcleaselector.pas

@@ -334,16 +334,17 @@ var
   TextStr: string;
   EffectiveSize: integer;
   EffectiveLineWidth: single;
-  //a, da,
   r: single;
   RMinAngle, RMaxAngle, RMinTicksAngle, RMaxTicksAngle, RAngle: single;
   Blur: TBGRABitmap;
   Mask, Mask2: TBGRABitmap;
   Phong: TPhongShading;
   ScaledPhongSize: int64;
+  i: integer;
 
   procedure DoDrawArc(a, b: single; c: TColor);
   begin
+    FBitmap.Canvas2D.lineCapLCL := pecRound;
     FBitmap.Canvas2D.strokeStyle(c);
     FBitmap.Canvas2D.beginPath;
     FBitmap.Canvas2D.arc(0, 0, r, a, b, False);
@@ -352,13 +353,15 @@ var
 
   procedure DoDrawTicks(a, b: single; c: TColor);
   begin
+    FBitmap.Canvas2D.lineCapLCL := pecFlat;
     FBitmap.Canvas2D.strokeStyle(c);
-    FBitmap.Canvas2D.lineWidth := 5;
+    //FBitmap.Canvas2D.lineWidth := 5;
     FBitmap.Canvas2D.beginPath;
-    FBitmap.Canvas2D.lineTo(0 - a, 0 - b);
+    FBitmap.Canvas2D.arc(0, 0, r, a, b, False);
+    {FBitmap.Canvas2D.lineTo(0 - a, 0 - b);
     FBitmap.Canvas2D.lineTo(5 - a, -2 - b);
     FBitmap.Canvas2D.lineTo(5 - a, 2 - b);
-    FBitmap.Canvas2D.lineTo(0 - a, 0 - b);
+    FBitmap.Canvas2D.lineTo(0 - a, 0 - b); }
     FBitmap.Canvas2D.stroke;
   end;
 
@@ -392,13 +395,21 @@ begin
   RMinTicksAngle := (180 + FMinTicksAngle) * pi / 180;
   RMaxTicksAngle := ((180 + FMaxTicksAngle) * pi / 180) - RMinTicksAngle;
 
-  FBitmap.Canvas2D.lineCapLCL := pecRound;
   // background line
   if FLineBkgColor <> clNone then
     DoDrawArc(RMinAngle, (RMaxAngle + RMinAngle), FLineBkgColor);
 
-  RAngle := (RMaxTicksAngle / (FTicksCount + FOffset)) * ((FValue + FOffset) - ((FTicksCount + FOffset) / 2));
+  if FDrawTicks then
+  begin
+    //DoDrawTicks(-(FBitmap.Width / 2 - 5), 0, clBlack);
+    for i := 0 to FTicksCount - 1 do
+    begin
+      RAngle := (RMaxTicksAngle / (FTicksCount - 1 + FOffset)) * ((i + FOffset) - ((FTicksCount - 1 + FOffset) / 2));
+      DoDrawTicks(RAngle - FPointerSize / 200, RAngle + FPointerSize / 200, clBlack);
+    end;
+  end;
 
+  RAngle := (RMaxTicksAngle / (FTicksCount - 1 + FOffset)) * ((FValue + FOffset) - ((FTicksCount - 1 + FOffset) / 2));
   if Enabled then
   begin
     if FValue >= 0 then
@@ -420,9 +431,6 @@ begin
     TextBmp.Free;
   end;
 
-  if FDrawTicks then
-    DoDrawTicks(-(FBitmap.Width / 2 - 5), 0, clBlack);
-
   if (FStyle = zsRaised) or (FStyle = zsLowered) then
   begin
     ScaledPhongSize := round(EffectiveLineWidth / 2);
@@ -487,7 +495,7 @@ begin
 
   with GetControlClassDefaultSize do
     SetInitialBounds(0, 0, 100, 100);
-  FTicksCount := 2;
+  FTicksCount := 3;
   FOffset := 0;
   FMinAngle := 20;
   FMaxAngle := 340;
@@ -522,7 +530,7 @@ begin
   inherited MouseDown(Button, Shift, X, Y);
   if Button = mbLeft then
   begin
-    FDeltaPos := ((ClientHeight / FSensitivity) - (Y / FSensitivity)) * (FTicksCount / ClientHeight);
+    FDeltaPos := ((ClientHeight / FSensitivity) - (Y / FSensitivity)) * ((FTicksCount - 1) / ClientHeight);
     FSettingVerticalPos := True;
   end;
 end;
@@ -547,17 +555,17 @@ var
   FCurrPos: single;
 begin
   FPreviousPos := FVerticalPos;
-  FCurrPos := ((ClientHeight / FSensitivity) - (Y / FSensitivity)) * (FTicksCount / ClientHeight);
+  FCurrPos := ((ClientHeight / FSensitivity) - (Y / FSensitivity)) * ((FTicksCount - 1) / ClientHeight);
 
   FVerticalPos := FVerticalPos - FDeltaPos + FCurrPos;
   if FVerticalPos < 0 then FVerticalPos := 0;
-  if FVerticalPos > FTicksCount then FVerticalPos := FTicksCount;
+  if FVerticalPos > (FTicksCount - 1) then FVerticalPos := FTicksCount - 1;
 
   FValue := round(FVerticalPos);
   if FValue < 0 then
     FValue := 0;
-  if FValue > FTicksCount then
-    FValue := FTicksCount;
+  if FValue > (FTicksCount - 1) then
+    FValue := FTicksCount - 1;
 
   Redraw;
   if (FPreviousPos <> FVerticalPos) and Assigned(FOnChangeValue) then
@@ -648,7 +656,7 @@ var
   i: integer;
 begin
   FItems.Clear;
-  for i := 0 to FTicksCount do
+  for i := 0 to (FTicksCount - 1) do
   begin
     if i < Value.Count then
       FItems.Add(Value[i])

+ 113 - 0
styles/lea_blue.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00C8730A</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00FFFFFF</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00FF9C15</ColorOn>
+      <ColorOff>00C8730A</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00FF9C15</ColorOn>
+      <ColorOff>00C8730A</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00C8730A</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00C8730A</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
styles/lea_bw.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00000000</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00FFFFFF</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>00000000</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>00000000</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00000000</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00000000</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
styles/lea_e-papper.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>0</Style>
+      <BoardShadow>0</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00FFFFFF</Board>
+      <Frame>006E6E6E</Frame>
+      <DotOn>00000000</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>0</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>006E6E6E</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>0</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>006E6E6E</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>0</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>006E6E6E</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>0</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>006E6E6E</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
styles/lea_gray.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00879B73</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00000000</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>00879B73</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>00879B73</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>5</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>000000FF</Line>
+      <LineBkg>00879B73</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>0037F51E</Line>
+      <LineBkg>00879B73</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
styles/lea_green.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>0046A573</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00000000</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>0028AF28</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>0028AF28</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>5</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>0037F51E</Line>
+      <LineBkg>00C0C0C0</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>0037F51E</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
styles/lea_olive.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>005C592C</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00F0CAA6</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00BEB45A</ColorOn>
+      <ColorOff>005C592C</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00BEB45A</ColorOn>
+      <ColorOff>005C592C</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>005C592C</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>005C592C</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
test/test_bclea/themes/lea_blue.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00C8730A</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00FFFFFF</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00FF9C15</ColorOn>
+      <ColorOff>00C8730A</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00FF9C15</ColorOn>
+      <ColorOff>00C8730A</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00C8730A</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00C8730A</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
test/test_bclea/themes/lea_bw.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00000000</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00FFFFFF</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>00000000</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>00000000</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00000000</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>00000000</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
test/test_bclea/themes/lea_e-papper.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>0</Style>
+      <BoardShadow>0</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00FFFFFF</Board>
+      <Frame>006E6E6E</Frame>
+      <DotOn>00000000</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>0</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>006E6E6E</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>0</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00969696</ColorOn>
+      <ColorOff>006E6E6E</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>0</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>006E6E6E</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>0</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>006E6E6E</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
test/test_bclea/themes/lea_gray.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>00879B73</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00000000</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>00879B73</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>00879B73</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>5</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>000000FF</Line>
+      <LineBkg>00879B73</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>0037F51E</Line>
+      <LineBkg>00879B73</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
test/test_bclea/themes/lea_green.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>0046A573</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00000000</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>0028AF28</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>0037F51E</ColorOn>
+      <ColorOff>0028AF28</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>5</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>0037F51E</Line>
+      <LineBkg>00C0C0C0</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>0037F51E</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 113 - 0
test/test_bclea/themes/lea_olive.bclea

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<BCLea_Theme>
+  <Version>
+    <Version>1.0</Version>
+  </Version>
+  <COMMON>
+    <Light>
+      <SourceIntensity>500</SourceIntensity>
+      <SourceDistanceTerm>150</SourceDistanceTerm>
+      <SourceDistanceFactor>1</SourceDistanceFactor>
+      <DestFactor>1</DestFactor>
+      <Color>00FFFFFF</Color>
+      <SpecularFactor>0,6000000238</SpecularFactor>
+      <SpecularIndex>10</SpecularIndex>
+      <AmbientFactor>0,3000000119</AmbientFactor>
+      <DiffusionFactor>0,8999999762</DiffusionFactor>
+      <NegativeDiffusionFactor>0,1000000015</NegativeDiffusionFactor>
+      <DiffuseSaturation>0</DiffuseSaturation>
+      <PositionX>-100</PositionX>
+      <PositionY>-100</PositionY>
+      <PositionZ>100</PositionZ>
+    </Light>
+  </COMMON>
+  <BCLeaLCD>
+    <Frame>
+      <Height>8</Height>
+      <Size>8</Size>
+      <Altitude>2</Altitude>
+      <Style>2</Style>
+      <BoardShadow>2</BoardShadow>
+    </Frame>
+    <Dot>
+      <Shape>1</Shape>
+      <Size>4</Size>
+      <Space>1</Space>
+      <Blured>0</Blured>
+      <BlurRadius>0,8000000119</BlurRadius>
+      <Blended>0</Blended>
+      <BlendOperation>11</BlendOperation>
+    </Dot>
+    <Colors>
+      <Board>005C592C</Board>
+      <Frame>8000000F</Frame>
+      <DotOn>00F0CAA6</DotOn>
+    </Colors>
+  </BCLeaLCD>
+  <BCLeaLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>15</Size>
+      <Altitude>2</Altitude>
+    </Geometry>
+    <Colors>
+      <ColorOn>00BEB45A</ColorOn>
+      <ColorOff>005C592C</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaLED>
+  <BCLeaQLED>
+    <Geometry>
+      <Style>2</Style>
+      <Size>20</Size>
+      <Altitude>2</Altitude>
+      <Rounding>3</Rounding>
+    </Geometry>
+    <Colors>
+      <ColorOn>00BEB45A</ColorOn>
+      <ColorOff>005C592C</ColorOff>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+  </BCLeaQLED>
+  <BCLeaSelector>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>005C592C</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaSelector>
+  <BCLeaRingSlider>
+    <Geometry>
+      <Style>2</Style>
+      <LineWidth>8</LineWidth>
+      <Altitude>2</Altitude>
+      <PointerSize>3</PointerSize>
+    </Geometry>
+    <Colors>
+      <Line>005C592C</Line>
+      <LineBkg>00D3D3D3</LineBkg>
+      <BkgColor>8000000F</BkgColor>
+      <PointerColor>00FF9C15</PointerColor>
+    </Colors>
+    <Text>
+      <ShadowColor>00000000</ShadowColor>
+      <ShadowOffsetX>2</ShadowOffsetX>
+      <ShadowOffsetY>2</ShadowOffsetY>
+      <ShadowRadius>4</ShadowRadius>
+      <Draw3D>0</Draw3D>
+    </Text>
+  </BCLeaRingSlider>
+</BCLea_Theme>

+ 5 - 3
test/test_bclea/untThemeBuilder.lfm

@@ -307,8 +307,8 @@ object frmMain: TfrmMain
       Height = 352
       Top = 8
       Width = 656
-      ActivePage = tsQLED
-      TabIndex = 4
+      ActivePage = tsLED
+      TabIndex = 1
       TabOrder = 1
       object tsLCD: TTabSheet
         Caption = 'BCLeaLCDDisplay'
@@ -1775,11 +1775,13 @@ object frmMain: TfrmMain
       TabOrder = 3
       TabStop = False
       OnClick = BSelectorClick
-      TicksCount = 2
+      TicksCount = 4
+      DrawTicks = True
       Items.Strings = (
         'Item 1'
         'Item 2'
         'Item 3'
+        ' '
       )
       MinTicksAngle = 150
       MaxTicksAngle = 210

+ 23 - 0
test/test_bclea/untThemeBuilder.pas

@@ -411,18 +411,21 @@ procedure TfrmMain.cbtLCDFrameColorColorChanged(Sender: TObject);
 begin
   LCDDisplay.FrameColor := cbtLCDFrameColor.ButtonColor;
   BTheme.LCD_FrameColor := cbtLCDFrameColor.ButtonColor;
+  LCDDisplay.Invalidate;
 end;
 
 procedure TfrmMain.cbtLCDBoardColorColorChanged(Sender: TObject);
 begin
   LCDDisplay.BoardColor := cbtLCDBoardColor.ButtonColor;
   BTheme.LCD_BoardColor := cbtLCDBoardColor.ButtonColor;
+  LCDDisplay.Invalidate;
 end;
 
 procedure TfrmMain.cbtLCDDotOnColorColorChanged(Sender: TObject);
 begin
   LCDDisplay.DotColorOn := cbtLCDDotOnColor.ButtonColor;
   BTheme.LCD_DotColorOn := cbtLCDDotOnColor.ButtonColor;
+  LCDDisplay.Invalidate;
 end;
 
 procedure TfrmMain.cbtLightColorColorChanged(Sender: TObject);
@@ -435,18 +438,21 @@ procedure TfrmMain.cbtQLEDBkgColorColorChanged(Sender: TObject);
 begin
   BQLED.BackgroundColor := cbtQLEDBkgColor.ButtonColor;
   BTheme.QLED_BkgColor := cbtQLEDBkgColor.ButtonColor;
+  BQLED.Invalidate;
 end;
 
 procedure TfrmMain.cbtQLEDColorOffColorChanged(Sender: TObject);
 begin
   BQLED.ColorOff := cbtQLEDColorOff.ButtonColor;
   BTheme.QLED_ColorOff := cbtQLEDColorOff.ButtonColor;
+  BQLED.Invalidate;
 end;
 
 procedure TfrmMain.cbtQLEDColorOnColorChanged(Sender: TObject);
 begin
   BQLED.ColorOn := cbtQLEDColorOn.ButtonColor;
   BTheme.QLED_ColorOn := cbtQLEDColorOn.ButtonColor;
+  BQLED.Invalidate;
 end;
 
 procedure TfrmMain.LCDDisplayClick(Sender: TObject);
@@ -739,64 +745,75 @@ procedure TfrmMain.cbtBRSBkgColorColorChanged(Sender: TObject);
 begin
   BRingSlider.BackgroundColor := cbtBRSBkgColor.ButtonColor;
   BTheme.RS_BkgColor := cbtBRSBkgColor.ButtonColor;
+  BRingSlider.Invalidate;
 end;
 
 procedure TfrmMain.cbtBRSFontColorColorChanged(Sender: TObject);
 begin
   BRingSlider.Font.Color := cbtBRSFontColor.ButtonColor;
+  BRingSlider.Invalidate;
 end;
 
 procedure TfrmMain.cbtBRSFontShadowColorColorChanged(Sender: TObject);
 begin
   BRingSlider.FontShadowColor := cbtBRSFontShadowColor.ButtonColor;
   BTheme.RS_FontShadowColor := cbtBRSFontShadowColor.ButtonColor;
+  BRingSlider.Invalidate;
 end;
 
 procedure TfrmMain.cbtBRSLineBkgColorColorChanged(Sender: TObject);
 begin
   BRingSlider.LineBkgColor := cbtBRSLineBkgColor.ButtonColor;
   BTheme.RS_LineBkgColor := cbtBRSLineBkgColor.ButtonColor;
+  BRingSlider.Invalidate;
 end;
 
 procedure TfrmMain.cbtBRSLineColorColorChanged(Sender: TObject);
 begin
   BRingSlider.LineColor := cbtBRSLineColor.ButtonColor;
   BTheme.RS_LineColor := cbtBRSLineColor.ButtonColor;
+  BRingSlider.Invalidate;
 end;
 
 procedure TfrmMain.cbtBRSPointerColorColorChanged(Sender: TObject);
 begin
   BRingSlider.PointerColor := cbtBRSPointerColor.ButtonColor;
   BTheme.RS_PointerColor := cbtBRSPointerColor.ButtonColor;
+  BRingSlider.Invalidate;
 end;
 
 procedure TfrmMain.cbtBSELBkgColorColorChanged(Sender: TObject);
 begin
   BSelector.BackgroundColor := cbtBSELBkgColor.ButtonColor;
   BTheme.SEL_BkgColor := cbtBSELBkgColor.ButtonColor;
+  BSelector.Invalidate;
 end;
 
 procedure TfrmMain.cbtBSELFontColorColorChanged(Sender: TObject);
 begin
   BSelector.Font.Color := cbtBSELFontColor.ButtonColor;
+  BSelector.Invalidate;
 end;
 
 procedure TfrmMain.cbtBSELFontShadowColorColorChanged(Sender: TObject);
 begin
   BSelector.FontShadowColor := cbtBSELFontShadowColor.ButtonColor;
   BTheme.SEL_FontShadowColor := cbtBSELFontShadowColor.ButtonColor;
+  BSelector.Invalidate;
 end;
 
 procedure TfrmMain.cbtBSELLineBkgColorColorChanged(Sender: TObject);
 begin
   BSelector.LineBkgColor := cbtBSELLineBkgColor.ButtonColor;
   BTheme.SEL_LineBkgColor := cbtBSELLineBkgColor.ButtonColor;
+  BSelector.Invalidate;
 end;
 
 procedure TfrmMain.cbtBSELLineColorColorChanged(Sender: TObject);
 begin
   BSelector.LineColor := cbtBSELLineColor.ButtonColor;
   BTheme.SEL_LineColor := cbtBSELLineColor.ButtonColor;
+  BSelector.Invalidate;
 end;
 
 procedure TfrmMain.cbtLEDBkgColorColorChanged(Sender: TObject);
@@ -804,6 +821,8 @@ begin
   BLED.BackgroundColor := cbtLEDBkgColor.ButtonColor;
   BLEDZoom.BackgroundColor := cbtLEDBkgColor.ButtonColor;
   BTheme.LED_BkgColor := cbtLEDBkgColor.ButtonColor;
+  BLED.Invalidate;
+  BLEDZoom.Invalidate;
 end;
 
 procedure TfrmMain.cbtLEDColorOffColorChanged(Sender: TObject);
@@ -811,6 +830,8 @@ begin
   BLED.ColorOff := cbtLEDColorOff.ButtonColor;
   BLEDZoom.ColorOff := cbtLEDColorOff.ButtonColor;
   BTheme.LED_ColorOff := cbtLEDColorOff.ButtonColor;
+  BLED.Invalidate;
+  BLEDZoom.Invalidate;
 end;
 
 procedure TfrmMain.cbtLEDColorOnColorChanged(Sender: TObject);
@@ -818,6 +839,8 @@ begin
   BLED.ColorOn := cbtLEDColorOn.ButtonColor;
   BLEDZoom.ColorOn := cbtLEDColorOn.ButtonColor;
   BTheme.LED_ColorOn := cbtLEDColorOn.ButtonColor;
+  BLED.Invalidate;
+  BLEDZoom.Invalidate;
 end;
 
 procedure TfrmMain.cbtPanelColorColorChanged(Sender: TObject);