dwrbudr
Members-
Content Count
66 -
Joined
-
Last visited
Everything posted by dwrbudr
-
Yest, VCL Styles Utils package is outdated a lot, but still works with D11.1. It is probably based on code found in XE4, but the package still helps especially on styling system dialogs.
-
If you're going to use simple SVG files, probably most of these libraries will do the job. Personally I prefer librsvg + cairo wrappers. It is the fastest one at least by the benchmarks I did using different SVG libraries loading about 1000 SVG files. And it supports filters. How the above listed libraries deal with the attached SVG file. Could they open it? filters.svg
-
function Find_Debugger_Window(): Boolean; var whWnd: DWORD; begin result := True; //ollydbg v1.1 whWnd := FindWindow('icu_dbg', nil); if whWnd <> 0 then Exit; //ollyice pe--diy whWnd := FindWindow('pe--diy', nil); if whWnd <> 0 then Exit; //ollydbg ?- whWnd := FindWindow('ollydbg', nil); if whWnd <> 0 then Exit; //windbg whWnd := FindWindow('WinDbgFrameClass', nil); if whWnd <> 0 then Exit; //dede3.50 whWnd := FindWindow('TDeDeMainForm', nil); if whWnd <> 0 then Exit; //IDA5.20 whWnd := FindWindow('TIdaWindow', nil); if whWnd <> 0 then Exit; result := False; end; You can add more captions if you use Spy++ to obtain the caption of tools you want to check for.
-
procedure TMyGrame.MouseWheelHandler(var Msg: TMessage); var Control: TWinControl; pt: TPoint; begin Pt.X := SmallInt(Msg.lParam); Pt.Y := SmallInt(HiWord(Msg.lParam)); Control := FindVCLWindow(Pt); if Assigned(Control) then begin if (Control is TGrid) then begin Msg.Result := 1; end else begin Control.DefaultHandler(Msg); end; end else begin inherited MouseWheelHandler(Msg); end; end; Does it help if you override MouseWheelHandler as the code snippet above?
-
Checking Vcl.Forms.pas, it registers both TCustomForm and TForm to the style engine. Does it help if you call TStyleManager.Engine.RegisterStyleHook(TSynEdit, TScrollingStyleHook);
-
ImageEn had PDF support. One DLL about 4MB is required for that. I've tested it and it works well. https://www.imageen.com/info/history.html
-
I've build the sources, but now when I open the options, e.g. menu - GExperts -> Configuration an exception is raised. The error is there for both Debug and Release builds. [77684598]{KERNELBASE.dll} RaiseException + $48 [500666C4]{rtl280.bpl } System.DynArraySetLength (Line 36417, "System.pas" + 98) + $13 [16601F94]{GExpertsRS110.dll} __dbk_fcall_wrapper + $3D4 [500604D5]{rtl280.bpl } System.@AfterConstruction (Line 19330, "System.pas" + 2) + $5 [5005A388]{rtl280.bpl } System.@FreeMem (Line 4976, "System.pas" + 20) + $0 [500668E7]{rtl280.bpl } System.@DynArrayClear (Line 36682, "System.pas" + 49) + $0 [500647C0]{rtl280.bpl } System.@FinalizeRecord (Line 32825, "System.pas" + 86) + $4 [5005A388]{rtl280.bpl } System.@FreeMem (Line 4976, "System.pas" + 20) + $0 [500668E7]{rtl280.bpl } System.@DynArrayClear (Line 36682, "System.pas" + 49) + $0 [500664F4]{rtl280.bpl } System.DynArraySetLength (Line 36328, "System.pas" + 9) + $6 [16601FDD]{GExpertsRS110.dll} __dbk_fcall_wrapper + $41D [523D8019]{exceptiondiag280.bpl} JclHookExcept.TNotifierItem.DoNotify (Line 223, "JclHookExcept.pas" + 5) + $E [500606FC]{rtl280.bpl } System.TMonitor.CheckOwningThread (Line 19536, "System.pas" + 2) + $0 [50060A22]{rtl280.bpl } System.TMonitor.Exit (Line 19726, "System.pas" + 1) + $2 [16602C51]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1091 [1662097B]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1EDBB [5006049E]{rtl280.bpl } System.@ClassCreate (Line 19311, "System.pas" + 35) + $0 [50E08EDA]{vcl280.bpl } Vcl.Forms.TraverseClients3 (Line 8157, "Vcl.Forms.pas" + 5) + $38 [16601F94]{GExpertsRS110.dll} __dbk_fcall_wrapper + $3D4 [16601FDD]{GExpertsRS110.dll} __dbk_fcall_wrapper + $41D [16602C51]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1091 [16620947]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1ED87 [166209A6]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $1EDE6 [1670CF5E]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $10B39E [166F343F]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $F187F [1665AFD8]{GExpertsRS110.dll} Unknown function at __dbk_fcall_wrapper + $59418 [501733CF]{rtl280.bpl } System.Classes.TBasicAction.Execute (Line 17813, "System.Classes.pas" + 3) + $7 [50CAF9B2]{vcl280.bpl } Vcl.ActnList.TCustomAction.Execute (Line 284, "Vcl.ActnList.pas" + 19) + $35 [50173223]{rtl280.bpl } System.Classes.TBasicActionLink.Execute (Line 17724, "System.Classes.pas" + 2) + $7 [217C663D]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.ExecAction (Line 1099, "Vcl.ActnMenus.pas" + 6) + $D [217C7EF8]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.TrackMenu (Line 1869, "Vcl.ActnMenus.pas" + 19) + $15 [217CBA3E]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMainMenuBar.TrackMenu (Line 3736, "Vcl.ActnMenus.pas" + 5) + $3 [217C61BC]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 969, "Vcl.ActnMenus.pas" + 2) + $11 [217C61C5]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 970, "Vcl.ActnMenus.pas" + 3) + $4 [50CC7CCA]{vcl280.bpl } Vcl.Controls.TControl.WndProc (Line 7544, "Vcl.Controls.pas" + 91) + $6 [50CCC435]{vcl280.bpl } Vcl.Controls.GetControlAtPos (Line 10291, "Vcl.Controls.pas" + 2) + $78 [50CCC506]{vcl280.bpl } Vcl.Controls.InternalControlAtPos (Line 10315, "Vcl.Controls.pas" + 15) + $E [50CCCC49]{vcl280.bpl } Vcl.Controls.TWinControl.WndProc (Line 10527, "Vcl.Controls.pas" + 118) + $1D [50CCCDBD]{vcl280.bpl } Vcl.Controls.TWinControl.WndProc (Line 10579, "Vcl.Controls.pas" + 170) + $6 [50060D74]{rtl280.bpl } System.TMonitor.TryEnter (Line 19961, "System.pas" + 10) + $0 [50060894]{rtl280.bpl } System.TMonitor.Enter (Line 19622, "System.pas" + 4) + $2 [500606FC]{rtl280.bpl } System.TMonitor.CheckOwningThread (Line 19536, "System.pas" + 2) + $0 [50060A22]{rtl280.bpl } System.TMonitor.Exit (Line 19726, "System.pas" + 1) + $2 [217C802B]{vclactnband280.bpl} Vcl.ActnMenus.TCustomActionMenuBar.WndProc (Line 1913, "Vcl.ActnMenus.pas" + 25) + $4 [50CCC338]{vcl280.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 10267, "Vcl.Controls.pas" + 3) + $6 [50174200]{rtl280.bpl } System.Classes.StdWndProc (Line 18318, "System.Classes.pas" + 8) + $0 [50E0D68F]{vcl280.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 11317, "Vcl.Forms.pas" + 23) + $1 [50E0D6D2]{vcl280.bpl } Vcl.Forms.TApplication.HandleMessage (Line 11347, "Vcl.Forms.pas" + 1) + $4 [50E0DA11]{vcl280.bpl } Vcl.Forms.TApplication.Run (Line 11486, "Vcl.Forms.pas" + 27) + $3 [004F6F82]{bds.exe } bds.bds (Line 227, "" + 16) + $2
-
I've downloaded and installed the DLL from this thread, but how can I remove the debug window icon from showing in the tray?
-
Didn't work either. I've removed all licenses using 10.4.2 License Manager, started Delphi 11 setup, added the serial - Alexandria is now in the list. Then I press Register, enter the login information - License Error, etc. EMB created a great mess!
-
I also couldn't install Delphi 11, the Advanced -> Update trick didn't work - Alexandria is not being added to the list, although I have active subscription.
-
The skottie player demo using check.json doesn't correctly draw the image. See the black rugged edge border when the circle is being painted. Instead of using TWICBitmap, I've switched to 32bit TBitmap and created the TSKSurface like this: LSurface := TSKSurface.MakeRasterDirect(TSKImageInfo.Create( fBitmap.Width, fBitmap.Height, TSKColorType.BGRA8888), fBitmap.ScanLine[fBitmap.Height - 1], BytesPerScanLine(fBitmap.Width, 32, 32)); LSurface.Canvas.Clear(TAlphaColors.Null); FAnimation.Render(LSurface.Canvas, fDestRect); //flip the image since the DIB is bottom-up orientaded StretchBlt(fBitmap.Canvas.Handle, 0, 0, fBitmap.Width, fBitmap.Height, fBitmap.Canvas.Handle, 0, fBitmap.Height - 1, fBitmap.Width, -fBitmap.Height, SRCCOPY); Now all seem OK and the border is not rugged, not sure whtat's wrong with TWICBitmap. Check the border of the images below.
-
I could provide resvg bindings if you like and a compiled DLL files (32 and 64bit)
-
I've tried to convert SVG to PNG with this library without luck. What's wrong with this code? The SVG file is in the EXE folder as well as sk4d.dll On other pretty simple SVG files, LDOM is nil, probably TSKSVGDOM is too strict. var LDOM: ISKSVGDOM; LSize: TSizeF; LSVGStream: ISKStream; LSurface: ISKSurface; LImage: ISKImage; begin LSurface := TSKSurface.MakeRaster(256, 256); LSVGStream := TSKFileStream.Create(ExtractFilePath(Application.ExeName) + 'porsche.svg'); LDOM := TSKSVGDOM.Make(LSVGStream); (LDOM as TSkiaObject).DebugMessageProc := procedure(const AMessage: string) begin Caption := AMessage; end; LSize := LDOM.Root.GetIntrinsicSize(TSizeF.Create(0, 0)); // <== LSize is (0, 0) ?! LDOM.Render(LSurface.Canvas); // DebugMessageProc called with "can''t render image: load image failed" LImage := LSurface.MakeImageSnapshot; LImage.EncodeToFile(ExtractFilePath(Application.ExeName) + 'output.png', TSKEncodedImageFormat.PNG); end;
-
Could you please add the source of the Skia Demo to the repository?
-
I can reproduce the issue. The main thing here is that the monitors should not be aligned. The bug is already reported, but nobody seems to care: https://quality.embarcadero.com/browse/RSP-27207
- 14 replies
-
- vcl styles
- drawing
-
(and 1 more)
Tagged with: