From 17fb6add26291b31f7020e3551a7c8487130a747 Mon Sep 17 00:00:00 2001 From: "F.O." Date: Sun, 16 Feb 2025 17:56:08 +0100 Subject: genesi --- go-poppler/image.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 go-poppler/image.go (limited to 'go-poppler/image.go') diff --git a/go-poppler/image.go b/go-poppler/image.go new file mode 100644 index 0000000..ba2abc8 --- /dev/null +++ b/go-poppler/image.go @@ -0,0 +1,31 @@ +package poppler + +// #cgo pkg-config: poppler-glib +// #include +// #include +import "C" +import ( + "unsafe" + + "github.com/ungerik/go-cairo" +) + +// Image + +type Image struct { + Id int + Area Rectangle + p *C.struct__PopplerPage +} + +type Rectangle struct { + X1, Y1, X2, Y2 float64 +} + +func (im *Image) GetSurface() (cs *cairo.Surface) { + ci := C.poppler_page_get_image(im.p, C.gint(im.Id)) + ctx := C.cairo_create(ci) + cip := (cairo.Cairo_surface)(unsafe.Pointer(ci)) + ctxp := (cairo.Cairo_context)(unsafe.Pointer(ctx)) + return cairo.NewSurfaceFromC(cip, ctxp) +} -- cgit v1.2.3