Explorar o código

new bgravirtualscreen test

Leandro Diaz hai 1 ano
pai
achega
21c315aa58

BIN=BIN
test/test_bgravirtualscreen_blur/background.jpg


+ 81 - 0
test/test_bgravirtualscreen_blur/opaquepanel.lpi

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="12"/>
+    <PathDelim Value="\"/>
+    <General>
+      <SessionStorage Value="InProjectDir"/>
+      <Title Value="opaquepanel"/>
+      <Scaled Value="True"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <XPManifest>
+        <DpiAware Value="True"/>
+      </XPManifest>
+      <Icon Value="0"/>
+    </General>
+    <BuildModes>
+      <Item Name="Default" Default="True"/>
+    </BuildModes>
+    <PublishOptions>
+      <Version Value="2"/>
+      <UseFileFilters Value="True"/>
+    </PublishOptions>
+    <RunParams>
+      <FormatVersion Value="2"/>
+    </RunParams>
+    <RequiredPackages>
+      <Item>
+        <PackageName Value="bgracontrols"/>
+      </Item>
+      <Item>
+        <PackageName Value="LCL"/>
+      </Item>
+    </RequiredPackages>
+    <Units>
+      <Unit>
+        <Filename Value="opaquepanel.lpr"/>
+        <IsPartOfProject Value="True"/>
+      </Unit>
+      <Unit>
+        <Filename Value="unit1.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <HasResources Value="True"/>
+        <ResourceBaseClass Value="Form"/>
+        <UnitName Value="Unit1"/>
+      </Unit>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <PathDelim Value="\"/>
+    <Target>
+      <Filename Value="opaquepanel"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions>
+      <Item>
+        <Name Value="EAbort"/>
+      </Item>
+      <Item>
+        <Name Value="ECodetoolError"/>
+      </Item>
+      <Item>
+        <Name Value="EFOpenError"/>
+      </Item>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 25 - 0
test/test_bgravirtualscreen_blur/opaquepanel.lpr

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

+ 172 - 0
test/test_bgravirtualscreen_blur/unit1.lfm

@@ -0,0 +1,172 @@
+object Form1: TForm1
+  Left = 404
+  Height = 629
+  Top = 289
+  Width = 1013
+  BorderStyle = bsDialog
+  Caption = 'Form1'
+  ClientHeight = 629
+  ClientWidth = 1013
+  OnCreate = FormCreate
+  OnDestroy = FormDestroy
+  LCLVersion = '2.2.6.0'
+  object BGRAVirtualScreen1: TBGRAVirtualScreen
+    Left = 0
+    Height = 629
+    Top = 0
+    Width = 1013
+    OnRedraw = BGRAVirtualScreen2Redraw
+    Align = alClient
+    Alignment = taLeftJustify
+    BevelOuter = bvRaised
+    ClientHeight = 629
+    ClientWidth = 1013
+    Color = clWhite
+    ParentColor = False
+    TabOrder = 0
+    object BGRAVirtualScreen2: TBGRAVirtualScreen
+      Tag = 1
+      Left = 8
+      Height = 224
+      Top = 8
+      Width = 170
+      OnRedraw = BGRAVirtualScreen2Redraw
+      Alignment = taLeftJustify
+      BevelOuter = bvRaised
+      ClientHeight = 224
+      ClientWidth = 170
+      Color = clWhite
+      ParentColor = False
+      TabOrder = 0
+      object BCLabel1: TBCLabel
+        Left = 8
+        Height = 15
+        Top = 8
+        Width = 49
+        Background.Gradient1.StartColor = clWhite
+        Background.Gradient1.EndColor = clBlack
+        Background.Gradient1.GradientType = gtLinear
+        Background.Gradient1.Point1XPercent = 0
+        Background.Gradient1.Point1YPercent = 0
+        Background.Gradient1.Point2XPercent = 0
+        Background.Gradient1.Point2YPercent = 100
+        Background.Gradient2.StartColor = clWhite
+        Background.Gradient2.EndColor = clBlack
+        Background.Gradient2.GradientType = gtLinear
+        Background.Gradient2.Point1XPercent = 0
+        Background.Gradient2.Point1YPercent = 0
+        Background.Gradient2.Point2XPercent = 0
+        Background.Gradient2.Point2YPercent = 100
+        Background.Gradient1EndPercent = 35
+        Background.Style = bbsClear
+        Border.Style = bboNone
+        Caption = 'BCLabel1'
+        FontEx.Color = clWhite
+        FontEx.FontQuality = fqSystemClearType
+        FontEx.Shadow = False
+        FontEx.ShadowRadius = 5
+        FontEx.ShadowOffsetX = 5
+        FontEx.ShadowOffsetY = 5
+        FontEx.Style = []
+        Rounding.RoundX = 1
+        Rounding.RoundY = 1
+      end
+    end
+    object BGRAVirtualScreen3: TBGRAVirtualScreen
+      Tag = 1
+      Left = 184
+      Height = 224
+      Top = 8
+      Width = 170
+      OnRedraw = BGRAVirtualScreen2Redraw
+      Alignment = taLeftJustify
+      BevelOuter = bvRaised
+      ClientHeight = 224
+      ClientWidth = 170
+      Color = clWhite
+      ParentColor = False
+      TabOrder = 1
+      object BCLabel2: TBCLabel
+        Left = 8
+        Height = 15
+        Top = 8
+        Width = 49
+        Background.Gradient1.StartColor = clWhite
+        Background.Gradient1.EndColor = clBlack
+        Background.Gradient1.GradientType = gtLinear
+        Background.Gradient1.Point1XPercent = 0
+        Background.Gradient1.Point1YPercent = 0
+        Background.Gradient1.Point2XPercent = 0
+        Background.Gradient1.Point2YPercent = 100
+        Background.Gradient2.StartColor = clWhite
+        Background.Gradient2.EndColor = clBlack
+        Background.Gradient2.GradientType = gtLinear
+        Background.Gradient2.Point1XPercent = 0
+        Background.Gradient2.Point1YPercent = 0
+        Background.Gradient2.Point2XPercent = 0
+        Background.Gradient2.Point2YPercent = 100
+        Background.Gradient1EndPercent = 35
+        Background.Style = bbsClear
+        Border.Style = bboNone
+        Caption = 'BCLabel1'
+        FontEx.Color = clWhite
+        FontEx.FontQuality = fqSystemClearType
+        FontEx.Shadow = False
+        FontEx.ShadowRadius = 5
+        FontEx.ShadowOffsetX = 5
+        FontEx.ShadowOffsetY = 5
+        FontEx.Style = []
+        Rounding.RoundX = 1
+        Rounding.RoundY = 1
+      end
+    end
+    object BGRAVirtualScreen4: TBGRAVirtualScreen
+      Tag = 1
+      Left = 360
+      Height = 224
+      Top = 8
+      Width = 170
+      OnRedraw = BGRAVirtualScreen2Redraw
+      Alignment = taLeftJustify
+      BevelOuter = bvRaised
+      ClientHeight = 224
+      ClientWidth = 170
+      Color = clWhite
+      ParentColor = False
+      TabOrder = 2
+      object BCLabel3: TBCLabel
+        Left = 8
+        Height = 15
+        Top = 8
+        Width = 49
+        Background.Gradient1.StartColor = clWhite
+        Background.Gradient1.EndColor = clBlack
+        Background.Gradient1.GradientType = gtLinear
+        Background.Gradient1.Point1XPercent = 0
+        Background.Gradient1.Point1YPercent = 0
+        Background.Gradient1.Point2XPercent = 0
+        Background.Gradient1.Point2YPercent = 100
+        Background.Gradient2.StartColor = clWhite
+        Background.Gradient2.EndColor = clBlack
+        Background.Gradient2.GradientType = gtLinear
+        Background.Gradient2.Point1XPercent = 0
+        Background.Gradient2.Point1YPercent = 0
+        Background.Gradient2.Point2XPercent = 0
+        Background.Gradient2.Point2YPercent = 100
+        Background.Gradient1EndPercent = 35
+        Background.Style = bbsClear
+        Border.Style = bboNone
+        Caption = 'BCLabel1'
+        FontEx.Color = clWhite
+        FontEx.FontQuality = fqSystemClearType
+        FontEx.Shadow = False
+        FontEx.ShadowRadius = 5
+        FontEx.ShadowOffsetX = 5
+        FontEx.ShadowOffsetY = 5
+        FontEx.Style = []
+        Rounding.RoundX = 1
+        Rounding.RoundY = 1
+      end
+    end
+  end
+end

+ 72 - 0
test/test_bgravirtualscreen_blur/unit1.pas

@@ -0,0 +1,72 @@
+unit Unit1;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, BGRAVirtualScreen,
+  BCLabel, BGRABitmap, BCTypes, BCPanel, BGRABitmapTypes, Types;
+
+type
+
+  { TForm1 }
+
+  TForm1 = class(TForm)
+    BCLabel1: TBCLabel;
+    BCLabel2: TBCLabel;
+    BCLabel3: TBCLabel;
+    BGRAVirtualScreen1: TBGRAVirtualScreen;
+    BGRAVirtualScreen2: TBGRAVirtualScreen;
+    BGRAVirtualScreen3: TBGRAVirtualScreen;
+    BGRAVirtualScreen4: TBGRAVirtualScreen;
+    procedure BGRAVirtualScreen2Redraw(Sender: TObject; Bitmap: TBGRABitmap);
+    procedure FormCreate(Sender: TObject);
+    procedure FormDestroy(Sender: TObject);
+  private
+    background: TBGRABitmap;
+    backgroundblur: TBGRABitmap;
+  public
+
+  end;
+
+var
+  Form1: TForm1;
+
+implementation
+
+{$R *.lfm}
+
+{ TForm1 }
+
+procedure TForm1.BGRAVirtualScreen2Redraw(Sender: TObject; Bitmap: TBGRABitmap);
+var
+  blur: TBGRABitmap;
+begin
+  if TControl(Sender).Tag = 1 then
+  begin
+    Bitmap.PutImage(-TControl(Sender).Left, -TControl(Sender).Top, backgroundblur, dmSet);
+    Bitmap.Rectangle(0, 0, Bitmap.Width, Bitmap.Height, BGRA(255, 255, 255, 100), BGRA(255, 255, 255, 10), dmDrawWithTransparency);
+  end
+  else
+  begin
+    Bitmap.PutImage(-TControl(Sender).Left, -TControl(Sender).Top, background, dmSet);
+  end;
+end;
+
+procedure TForm1.FormCreate(Sender: TObject);
+begin
+  background := TBGRABitmap.Create('background.jpg');
+  BGRAReplace(background, background.Resample(Width, Height, rmFineResample));
+  backgroundblur := background.FilterBlurRadial(10, 10, rbBox);
+end;
+
+procedure TForm1.FormDestroy(Sender: TObject);
+begin
+  background.Free;
+  backgroundblur.Free;
+end;
+
+
+end.
+