mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-21 00:39:10 +02:00
Gtk3: proper paint of grid at design time.
This commit is contained in:
parent
1569e7c7b1
commit
4f7b7c63ef
@ -114,7 +114,6 @@ var
|
||||
gc: TGdkRGBA;
|
||||
GtkDC: TGtk3DeviceContext absolute DC;
|
||||
DotSize: integer;
|
||||
//matrix: Tcairo_matrix_t;
|
||||
begin
|
||||
if not IsValidDC(DC) then
|
||||
exit;
|
||||
@ -123,7 +122,8 @@ begin
|
||||
DotSize := Max(1, GtkDC.CurrentPen.Width);
|
||||
|
||||
GtkDC.Save;
|
||||
//TODO: cairo_get_matrix(pcr, @matrix);
|
||||
|
||||
GtkDC.Translate(GtkDC.ScrollbarsOffset);
|
||||
cairo_set_source_rgb(GtkDC.pcr, gc.red, gc.green, gc.blue);
|
||||
|
||||
cairo_set_antialias(GtkDC.pcr, CAIRO_ANTIALIAS_NONE);
|
||||
|
@ -252,6 +252,7 @@ type
|
||||
ParentPixmap: PGdkPixbuf;
|
||||
Window: PGdkWindow;
|
||||
fncOrigin:TPoint; // non-client area offsets surface origin
|
||||
ScrollbarsOffset: TPoint; // for scrollingwincontrol and forms.
|
||||
constructor Create(AWidget: PGtkWidget; const APaintEvent: Boolean = False); virtual;
|
||||
constructor Create(AWindow: PGdkWindow; const APaintEvent: Boolean); virtual;
|
||||
constructor CreateFromCairo(AWidget: PGtkWidget; ACairo: PCairo_t); virtual;
|
||||
@ -1971,6 +1972,8 @@ procedure TGtk3DeviceContext.CreateObjects;
|
||||
var
|
||||
Matrix: Tcairo_matrix_t;
|
||||
begin
|
||||
ScrollbarsOffset.X := 0;
|
||||
ScrollbarsOffset.Y := 0;
|
||||
FLastPenX := 0;
|
||||
FLastPenY := 0;
|
||||
FBgBrush := nil; // created on demand
|
||||
|
@ -1795,6 +1795,7 @@ begin
|
||||
P.X := P.X + Round(AScrolledWin^.get_hadjustment^.get_value);
|
||||
if VScrollPolicy < GTK_POLICY_NEVER then
|
||||
P.Y := P.Y + Round(AScrolledWin^.get_vadjustment^.get_value);
|
||||
TGtk3DeviceContext(Msg.DC).ScrollbarsOffset := Point(P.X, P.Y);
|
||||
cairo_translate(AContext, -P.X, -P.Y);
|
||||
with TGtk3DeviceContext(Msg.DC).fncOrigin do
|
||||
begin
|
||||
@ -10491,6 +10492,7 @@ begin
|
||||
P.X := P.X + Round(AScrolledWin^.get_hadjustment^.get_value);
|
||||
if VScrollPolicy < GTK_POLICY_NEVER then
|
||||
P.Y := P.Y + Round(AScrolledWin^.get_vadjustment^.get_value);
|
||||
TGtk3DeviceContext(Msg.DC).ScrollbarsOffset := Point(P.X, P.Y);
|
||||
cairo_translate(AContext, -P.X, -P.Y);
|
||||
with TGtk3DeviceContext(Msg.DC).fncOrigin do
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user