Files
gimp/devel-docs/libgimpwidgets/xml/gimppreviewarea.xml
2010-08-11 01:14:57 -04:00

457 lines
26 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="GimpPreviewArea">
<refmeta>
<refentrytitle>GimpPreviewArea</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBGIMPWIDGETS Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GimpPreviewArea</refname><refpurpose>A general purpose preview widget which caches its pixel data.</refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
<link linkend="GimpPreviewArea-struct">GimpPreviewArea</link>;
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gimp-preview-area-new">gimp_preview_area_new</link> (void);
<link linkend="void">void</link> <link linkend="gimp-preview-area-draw">gimp_preview_area_draw</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="GimpImageType">GimpImageType</link> type,
const <link linkend="guchar">guchar</link> *buf,
<link linkend="gint">gint</link> rowstride);
<link linkend="void">void</link> <link linkend="gimp-preview-area-fill">gimp_preview_area_fill</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="guchar">guchar</link> red,
<link linkend="guchar">guchar</link> green,
<link linkend="guchar">guchar</link> blue);
<link linkend="void">void</link> <link linkend="gimp-preview-area-blend">gimp_preview_area_blend</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="GimpImageType">GimpImageType</link> type,
const <link linkend="guchar">guchar</link> *buf1,
<link linkend="gint">gint</link> rowstride1,
const <link linkend="guchar">guchar</link> *buf2,
<link linkend="gint">gint</link> rowstride2,
<link linkend="guchar">guchar</link> opacity);
<link linkend="void">void</link> <link linkend="gimp-preview-area-mask">gimp_preview_area_mask</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="GimpImageType">GimpImageType</link> type,
const <link linkend="guchar">guchar</link> *buf1,
<link linkend="gint">gint</link> rowstride1,
const <link linkend="guchar">guchar</link> *buf2,
<link linkend="gint">gint</link> rowstride2,
const <link linkend="guchar">guchar</link> *mask,
<link linkend="gint">gint</link> rowstride_mask);
<link linkend="void">void</link> <link linkend="gimp-preview-area-set-offsets">gimp_preview_area_set_offsets</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y);
<link linkend="void">void</link> <link linkend="gimp-preview-area-set-colormap">gimp_preview_area_set_colormap</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
const <link linkend="guchar">guchar</link> *colormap,
<link linkend="gint">gint</link> num_colors);
<link linkend="void">void</link> <link linkend="gimp-preview-area-set-max-size">gimp_preview_area_set_max_size</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height);
<link linkend="void">void</link> <link linkend="gimp-preview-area-menu-popup">gimp_preview_area_menu_popup</link> (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="GdkEventButton">GdkEventButton</link> *event);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Object Hierarchy</title>
<synopsis>
<link linkend="GObject">GObject</link>
+----<link linkend="GtkObject">GtkObject</link>
+----<link linkend="GtkWidget">GtkWidget</link>
+----<link linkend="GtkDrawingArea">GtkDrawingArea</link>
+----GimpPreviewArea
</synopsis>
</refsect1>
<refsect1>
<title>Implemented Interfaces</title>
<para>
GimpPreviewArea implements
<link linkend="AtkImplementorIface">AtkImplementorIface</link>.</para>
</refsect1>
<refsect1>
<title>Properties</title>
<synopsis>
&quot;<link linkend="GimpPreviewArea--check-size">check-size</link>&quot; <link linkend="GimpCheckSize">GimpCheckSize</link> : Read / Write
&quot;<link linkend="GimpPreviewArea--check-type">check-type</link>&quot; <link linkend="GimpCheckType">GimpCheckType</link> : Read / Write
</synopsis>
</refsect1>
<refsect1>
<title>Description</title>
<para>
A general purpose preview widget which caches its pixel data.
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GimpPreviewArea-struct"/>GimpPreviewArea</title>
<indexterm><primary>GimpPreviewArea</primary></indexterm><programlisting>typedef struct _GimpPreviewArea GimpPreviewArea;</programlisting>
<para>
</para></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-new"/>gimp_preview_area_new ()</title>
<indexterm><primary>gimp_preview_area_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gimp_preview_area_new (void);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a new <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget.
Since GIMP 2.2
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-draw"/>gimp_preview_area_draw ()</title>
<indexterm><primary>gimp_preview_area_draw</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_draw (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="GimpImageType">GimpImageType</link> type,
const <link linkend="guchar">guchar</link> *buf,
<link linkend="gint">gint</link> rowstride);</programlisting>
<para>
Draws <parameter>buf</parameter> on <parameter>area</parameter> and queues a redraw on the given rectangle.
</para>
<para>
Since GIMP 2.2</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> x offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> y offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara> buffer width
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> buffer height
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> the <link linkend="GimpImageType"><type>GimpImageType</type></link> of <parameter>buf</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buf</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer that contains the preview pixel data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rowstride</parameter>&nbsp;:</term>
<listitem><simpara> rowstride of <parameter>buf</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-fill"/>gimp_preview_area_fill ()</title>
<indexterm><primary>gimp_preview_area_fill</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_fill (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="guchar">guchar</link> red,
<link linkend="guchar">guchar</link> green,
<link linkend="guchar">guchar</link> blue);</programlisting>
<para>
Fills <parameter>area</parameter> in the given color and queues a redraw on the given
rectangle.
</para>
<para>
Since GIMP 2.2</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> x offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> y offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara> buffer width
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> buffer height
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>red</parameter>&nbsp;:</term>
<listitem><simpara> red component of the fill color (0-255)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>green</parameter>&nbsp;:</term>
<listitem><simpara> green component of the fill color (0-255)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>blue</parameter>&nbsp;:</term>
<listitem><simpara> red component of the fill color (0-255)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-blend"/>gimp_preview_area_blend ()</title>
<indexterm><primary>gimp_preview_area_blend</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_blend (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="GimpImageType">GimpImageType</link> type,
const <link linkend="guchar">guchar</link> *buf1,
<link linkend="gint">gint</link> rowstride1,
const <link linkend="guchar">guchar</link> *buf2,
<link linkend="gint">gint</link> rowstride2,
<link linkend="guchar">guchar</link> opacity);</programlisting>
<para>
Composites <parameter>buf1</parameter> on <parameter>buf2</parameter> with the given <parameter>opacity</parameter>, draws the result
to <parameter>area</parameter> and queues a redraw on the given rectangle.
</para>
<para>
Since GIMP 2.2</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> x offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> y offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara> buffer width
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> buffer height
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> the <link linkend="GimpImageType"><type>GimpImageType</type></link> of <parameter>buf1</parameter> and <parameter>buf2</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buf1</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer that contains the pixel data for
the lower layer
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rowstride1</parameter>&nbsp;:</term>
<listitem><simpara> rowstride of <parameter>buf1</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buf2</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer that contains the pixel data for
the upper layer
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rowstride2</parameter>&nbsp;:</term>
<listitem><simpara> rowstride of <parameter>buf2</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>opacity</parameter>&nbsp;:</term>
<listitem><simpara> The opacity of the first layer.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-mask"/>gimp_preview_area_mask ()</title>
<indexterm><primary>gimp_preview_area_mask</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_mask (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height,
<link linkend="GimpImageType">GimpImageType</link> type,
const <link linkend="guchar">guchar</link> *buf1,
<link linkend="gint">gint</link> rowstride1,
const <link linkend="guchar">guchar</link> *buf2,
<link linkend="gint">gint</link> rowstride2,
const <link linkend="guchar">guchar</link> *mask,
<link linkend="gint">gint</link> rowstride_mask);</programlisting>
<para>
Composites <parameter>buf1</parameter> on <parameter>buf2</parameter> with the given <parameter>mask</parameter>, draws the result on
<parameter>area</parameter> and queues a redraw on the given rectangle.
</para>
<para>
Since GIMP 2.2</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> x offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> y offset in preview
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara> buffer width
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> buffer height
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> the <link linkend="GimpImageType"><type>GimpImageType</type></link> of <parameter>buf1</parameter> and <parameter>buf2</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buf1</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer that contains the pixel data for
the lower layer
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rowstride1</parameter>&nbsp;:</term>
<listitem><simpara> rowstride of <parameter>buf1</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buf2</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer that contains the pixel data for
the upper layer
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rowstride2</parameter>&nbsp;:</term>
<listitem><simpara> rowstride of <parameter>buf2</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer representing the mask of the second
layer.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rowstride_mask</parameter>&nbsp;:</term>
<listitem><simpara> rowstride for the mask.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-set-offsets"/>gimp_preview_area_set_offsets ()</title>
<indexterm role="GIMP 2.2"><primary>gimp_preview_area_set_offsets</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_set_offsets (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> x,
<link linkend="gint">gint</link> y);</programlisting>
<para>
Sets the offsets of the previewed area. This information is used
when drawing the checkerboard and to determine the dither offsets.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara> horizontal offset
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
<listitem><simpara> vertical offset
</simpara></listitem></varlistentry>
</variablelist><para>Since GIMP 2.2
</para></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-set-colormap"/>gimp_preview_area_set_colormap ()</title>
<indexterm><primary>gimp_preview_area_set_colormap</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_set_colormap (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
const <link linkend="guchar">guchar</link> *colormap,
<link linkend="gint">gint</link> num_colors);</programlisting>
<para>
Sets the colormap for the <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget. You need to
call this function before you use <link linkend="gimp-preview-area-draw"><function>gimp_preview_area_draw()</function></link> with
an image type of <literal>GIMP_INDEXED_IMAGE</literal> or <literal>GIMP_INDEXEDA_IMAGE</literal>.
</para>
<para>
Since GIMP 2.2</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>colormap</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="guchar"><type>guchar</type></link> buffer that contains the colormap
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>num_colors</parameter>&nbsp;:</term>
<listitem><simpara> the number of colors in the colormap
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-set-max-size"/>gimp_preview_area_set_max_size ()</title>
<indexterm role="GIMP 2.2"><primary>gimp_preview_area_set_max_size</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_set_max_size (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="gint">gint</link> width,
<link linkend="gint">gint</link> height);</programlisting>
<para>
Usually a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> fills the size that it is
allocated. This funtion allows you to limit the preview area to a
maximum size. If a larger size is allocated for the widget, the
preview will draw itself centered into the allocated area.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link> widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
<listitem><simpara> the maximum width in pixels or -1 to unset the limit
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
<listitem><simpara> the maximum height in pixels or -1 to unset the limit
</simpara></listitem></varlistentry>
</variablelist><para>Since GIMP 2.2
</para></refsect2>
<refsect2>
<title><anchor id="gimp-preview-area-menu-popup"/>gimp_preview_area_menu_popup ()</title>
<indexterm role="GIMP 2.2"><primary>gimp_preview_area_menu_popup</primary></indexterm><programlisting><link linkend="void">void</link> gimp_preview_area_menu_popup (<link linkend="GimpPreviewArea">GimpPreviewArea</link> *area,
<link linkend="GdkEventButton">GdkEventButton</link> *event);</programlisting>
<para>
Creates a popup menu that allows to configure the size and type of
the checkerboard pattern that the <parameter>area</parameter> uses to visualize transparency.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>area</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="GimpPreviewArea"><type>GimpPreviewArea</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
<listitem><simpara> the button event that causes the menu to popup or <literal>NULL</literal>
</simpara></listitem></varlistentry>
</variablelist><para>Since GIMP 2.2
</para></refsect2>
</refsect1>
<refsect1>
<title>Properties</title>
<refsect2><title><anchor id="GimpPreviewArea--check-size"/>The &quot;<literal>check-size</literal>&quot; property</title>
<programlisting> &quot;check-size&quot; <link linkend="GimpCheckSize">GimpCheckSize</link> : Read / Write</programlisting>
<para></para><para>Default value: GIMP_CHECK_SIZE_MEDIUM_CHECKS</para>
</refsect2>
<refsect2><title><anchor id="GimpPreviewArea--check-type"/>The &quot;<literal>check-type</literal>&quot; property</title>
<programlisting> &quot;check-type&quot; <link linkend="GimpCheckType">GimpCheckType</link> : Read / Write</programlisting>
<para></para><para>Default value: GIMP_CHECK_TYPE_GRAY_CHECKS</para>
</refsect2>
</refsect1>
</refentry>