Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Move the deprecated RendererGTK{3,4}Cairo to a single place. #23537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 13 additions & 16 deletions lib/matplotlib/backends/backend_cairo.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,6 @@
backend_version = cairo.version


if cairo.__name__ == "cairocffi":
# Convert a pycairo context to a cairocffi one.
def _to_context(ctx):
if not isinstance(ctx, cairo.Context):
ctx = cairo.Context._from_pointer(
cairo.ffi.cast(
'cairo_t **',
id(ctx) + object.__basicsize__)[0],
incref=True)
return ctx
else:
# Pass-through a pycairo context.
def _to_context(ctx):
return ctx


def _append_path(ctx, path, transform, clip=None):
for points, code in path.iter_segments(
transform, remove_nans=True, clip=clip):
Expand Down Expand Up @@ -547,6 +531,19 @@ def _save(self, fmt, fobj, *, orientation='portrait'):
print_svgz = functools.partialmethod(_save, "svgz")


@_api.deprecated("3.6")
class _RendererGTKCairo(RendererCairo):
def set_context(self, ctx):
if (cairo.__name__ == "cairocffi"
and not isinstance(ctx, cairo.Context)):
ctx = cairo.Context._from_pointer(
cairo.ffi.cast(
'cairo_t **',
id(ctx) + object.__basicsize__)[0],
incref=True)
self.gc.ctx = ctx


@_Backend.export
class _BackendCairo(_Backend):
FigureCanvas = FigureCanvasCairo
Expand Down
16 changes: 4 additions & 12 deletions lib/matplotlib/backends/backend_gtk3cairo.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
from contextlib import nullcontext

from .. import _api
from . import backend_cairo, backend_gtk3
from .backend_gtk3 import Gtk, _BackendGTK3
from .backend_cairo import (
FigureCanvasCairo, _RendererGTKCairo as RendererGTK3Cairo)
from .backend_gtk3 import Gtk, FigureCanvasGTK3, _BackendGTK3


@_api.deprecated("3.6")
class RendererGTK3Cairo(backend_cairo.RendererCairo):
def set_context(self, ctx):
self.gc.ctx = backend_cairo._to_context(ctx)


class FigureCanvasGTK3Cairo(backend_cairo.FigureCanvasCairo,
backend_gtk3.FigureCanvasGTK3):

class FigureCanvasGTK3Cairo(FigureCanvasCairo, FigureCanvasGTK3):
def on_draw_event(self, widget, ctx):
with (self.toolbar._wait_cursor_for_draw_cm() if self.toolbar
else nullcontext()):
Expand Down
15 changes: 4 additions & 11 deletions lib/matplotlib/backends/backend_gtk4cairo.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
from contextlib import nullcontext

from .. import _api
from . import backend_cairo, backend_gtk4
from .backend_gtk4 import Gtk, _BackendGTK4
from .backend_cairo import (
FigureCanvasCairo, _RendererGTKCairo as RendererGTK4Cairo)
from .backend_gtk4 import Gtk, FigureCanvasGTK4, _BackendGTK4


@_api.deprecated("3.6")
class RendererGTK4Cairo(backend_cairo.RendererCairo):
def set_context(self, ctx):
self.gc.ctx = backend_cairo._to_context(ctx)


class FigureCanvasGTK4Cairo(backend_cairo.FigureCanvasCairo,
backend_gtk4.FigureCanvasGTK4):
class FigureCanvasGTK4Cairo(FigureCanvasCairo, FigureCanvasGTK4):
_context_is_scaled = True

def on_draw_event(self, widget, ctx):
Expand Down