---
name: "Gtk2::Gdk::Drawable"
section: "3pm"
platform: "linux"
package: "libgtk2-perl-doc"
version: "2:1.24992-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Gtk2::Gdk::Drawable"
---

# Gtk2::Gdk::Drawable(3pm)

wrapper for GdkDrawable

## NAME

Gtk2::Gdk::Drawable - wrapper for GdkDrawable

## HIERARCHY

```
  Glib::Object
  +----Gtk2::Gdk::Drawable
```

## METHODS

### unsigned = $drawable-\>XID

### unsigned = $drawable-\>XWINDOW

### region = $drawable-\>get\_clip\_region

### colormap or undef = $drawable-\>get\_colormap

### $drawable-\>set\_colormap ($colormap)

- •

  `$colormap` (Gtk2::Gdk::Colormap)

### image = $drawable-\>copy\_to\_image ($image, $src\_x, $src\_y, $dest\_x, $dest\_y, $width, $height)

- •

  `$image` (Gtk2::Gdk::Image or undef)

- •

  `$src_x` (integer)

- •

  `$src_y` (integer)

- •

  `$dest_x` (integer)

- •

  `$dest_y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

Since: gtk+ 2.4

### integer = $drawable-\>get\_depth

### display = $drawable-\>get\_display

Since: gtk+ 2.2

### $drawable-\>draw\_arc ($gc, $filled, $x, $y, $width, $height, $angle1, $angle2)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$filled` (boolean)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$angle1` (integer)

- •

  `$angle2` (integer)

### $drawable-\>draw\_drawable ($gc, $src, $xsrc, $ysrc, $xdest, $ydest, $width, $height)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$src` (Gtk2::Gdk::Drawable)

- •

  `$xsrc` (integer)

- •

  `$ysrc` (integer)

- •

  `$xdest` (integer)

- •

  `$ydest` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

### $drawable-\>draw\_gray\_image ($gc, $x, $y, $width, $height, $dith, $buf, $rowstride)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dith` (Gtk2::Gdk::RgbDither)

- •

  `$buf` (scalar)

- •

  `$rowstride` (integer)

### $drawable-\>draw\_image ($gc, $image, $xsrc, $ysrc, $xdest, $ydest, $width, $height)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$image` (Gtk2::Gdk::Image)

- •

  `$xsrc` (integer)

- •

  `$ysrc` (integer)

- •

  `$xdest` (integer)

- •

  `$ydest` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

### $drawable-\>draw\_indexed\_image ($gc, $x, $y, $width, $height, $dith, $buf, $rowstride, $cmap)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dith` (Gtk2::Gdk::RgbDither)

- •

  `$buf` (scalar)

- •

  `$rowstride` (integer)

- •

  `$cmap` (scalar)

### $drawable-\>draw\_layout ($gc, $x, $y, $layout)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$layout` (Pango::Layout)

### $drawable-\>draw\_layout\_line ($gc, $x, $y, $line)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$line` (Pango::LayoutLine)

### $drawable-\>draw\_layout\_line\_with\_colors ($gc, $x, $y, $line, $foreground, $background)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$line` (Pango::LayoutLine)

- •

  `$foreground` (Gtk2::Gdk::Color or undef)

- •

  `$background` (Gtk2::Gdk::Color or undef)

### $drawable-\>draw\_layout\_with\_colors ($gc, $x, $y, $layout, $foreground, $background)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$layout` (Pango::Layout)

- •

  `$foreground` (Gtk2::Gdk::Color or undef)

- •

  `$background` (Gtk2::Gdk::Color or undef)

### $drawable-\>draw\_line ($gc, $x1\_, $y1\_, $x2\_, $y2\_)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x1_` (integer)

- •

  `$y1_` (integer)

- •

  `$x2_` (integer)

- •

  `$y2_` (integer)

### $drawable-\>draw\_lines ($gc, ...)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  ... (list) integer x,y coordinates (possibly none)

For example

```
    $win->draw_lines ($gc, 0,0, 20,30, 40,20);
```

### $drawable-\>draw\_pixbuf ($gc, $pixbuf, $src\_x, $src\_y, $dest\_x, $dest\_y, $width, $height, $dither, $x\_dither, $y\_dither)

- •

  `$gc` (Gtk2::Gdk::GC or undef)

- •

  `$pixbuf` (Gtk2::Gdk::Pixbuf)

- •

  `$src_x` (integer)

- •

  `$src_y` (integer)

- •

  `$dest_x` (integer)

- •

  `$dest_y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dither` (Gtk2::Gdk::RgbDither)

- •

  `$x_dither` (integer)

- •

  `$y_dither` (integer)

Since: gtk+ 2.2

### $drawable-\>draw\_point ($gc, $x, $y)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

### $drawable-\>draw\_points ($gc, ...)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  ... (list) integer x,y coordinates (possibly none)

For example three points

```
    $win->draw_points ($gc, 0,0, 10,10, 20,20);
```

### $drawable-\>draw\_polygon ($gc, $filled, $x1, $y1, ...)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$filled` (boolean)

- •

  `$x1` (integer) the x coordinate of the first point

- •

  `$y1` (integer) the y coordinate of the first point

- •

  ... (list) pairs of x and y coordinates

### $drawable-\>draw\_rectangle ($gc, $filled, $x, $y, $width, $height)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$filled` (boolean)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

### $drawable-\>draw\_rgb\_32\_image ($gc, $x, $y, $width, $height, $dith, $buf, $rowstride)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dith` (Gtk2::Gdk::RgbDither)

- •

  `$buf` (scalar)

- •

  `$rowstride` (integer)

### $drawable-\>draw\_rgb\_32\_image\_dithalign ($gc, $x, $y, $width, $height, $dith, $rgb\_buf, $rowstride, $xdith, $ydith)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dith` (Gtk2::Gdk::RgbDither)

- •

  `$rgb_buf` (scalar)

- •

  `$rowstride` (integer)

- •

  `$xdith` (integer)

- •

  `$ydith` (integer)

### $drawable-\>draw\_rgb\_image ($gc, $x, $y, $width, $height, $dith, $buf, $rowstride)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dith` (Gtk2::Gdk::RgbDither)

- •

  `$buf` (scalar)

- •

  `$rowstride` (integer)

### $drawable-\>draw\_rgb\_image\_dithalign ($gc, $x, $y, $width, $height, $dith, $rgb\_buf, $rowstride, $xdith, $ydith)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

- •

  `$dith` (Gtk2::Gdk::RgbDither)

- •

  `$rgb_buf` (scalar)

- •

  `$rowstride` (integer)

- •

  `$xdith` (integer)

- •

  `$ydith` (integer)

### $drawable-\>draw\_segments ($gc, ...)

- •

  `$gc` (Gtk2::Gdk::GC)

- •

  ... (list) quads of x1,y1,x2,y2 coordinates

For example to draw two diagonal line segments,

```
    $drawable->draw_segments($gc, 0,0,100,100, 200,200,300,300);
```

### image = $drawable-\>get\_image ($x, $y, $width, $height)

- •

  `$x` (integer)

- •

  `$y` (integer)

- •

  `$width` (integer)

- •

  `$height` (integer)

### screen = $drawable-\>get\_screen

Since: gtk+ 2.2

### (width, height) = $drawable-\>get\_size

### region = $drawable-\>get\_visible\_region

### visual = $drawable-\>get\_visual

### unsigned = $drawable-\>get\_xid

## ENUMS AND FLAGS

### enum Gtk2::Gdk::RgbDither

- •

  'none' / 'GDK\_RGB\_DITHER\_NONE'

- •

  'normal' / 'GDK\_RGB\_DITHER\_NORMAL'

- •

  'max' / 'GDK\_RGB\_DITHER\_MAX'

## SEE ALSO

Gtk2, Glib::Object

## COPYRIGHT

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL.  See Gtk2 for a full notice.
