📄 gtkcurve.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>GtkCurve</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GTK+ Reference Manual"><link rel="up" href="SpecialObjects.html" title="Special-purpose features"><link rel="prev" href="SpecialObjects.html" title="Special-purpose features"><link rel="next" href="GtkGammaCurve.html" title="GtkGammaCurve"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="gtk.html" title="Part I. GTK+ Overview"><link rel="part" href="gtkbase.html" title="Part II. GTK+ Core Reference"><link rel="part" href="gtkobjects.html" title="Part III. GTK+ Widgets and Objects"><link rel="chapter" href="ch01.html" title="Object Hierarchy"><link rel="chapter" href="ch02.html" title="Widget Gallery"><link rel="chapter" href="WindowWidgets.html" title="Windows"><link rel="chapter" href="DisplayWidgets.html" title="Display Widgets"><link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles"><link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry"><link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor"><link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"><link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar"><link rel="chapter" href="Actions.html" title="Action-based menus and toolbars"><link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)"><link rel="chapter" href="LayoutContainers.html" title="Layout Containers"><link rel="chapter" href="Ornaments.html" title="Ornaments"><link rel="chapter" href="ScrollingWidgets.html" title="Scrolling"><link rel="chapter" href="Printing.html" title="Printing"><link rel="chapter" href="MiscObjects.html" title="Miscellaneous"><link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes"><link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding"><link rel="chapter" href="SpecialObjects.html" title="Special-purpose features"><link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents"><link rel="chapter" href="Builder.html" title="Interface builder"><link rel="chapter" href="DeprecatedObjects.html" title="Deprecated"><link rel="part" href="migrating.html" title="Part IV. Migrating from Previous Versions of GTK+"><link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist"><link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser"><link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction"><link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry"><link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView"><link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog"><link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton"><link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant"><link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser"><link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton"><link rel="chapter" href="gtk-migrating-GtkBuilder.html" title="Migrating from libglade to GtkBuilder"><link rel="chapter" href="gtk-migrating-tooltips.html" title="Migrating from GtkTooltips to GtkTooltip"><link rel="part" href="pt05.html" title="Part V. GTK+ Tools"><link rel="glossary" href="glossary.html" title="Glossary"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="SpecialObjects.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="SpecialObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GTK+ Reference Manual</th><td><a accesskey="n" href="GtkGammaCurve.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id4401991" class="shortcut">Top</a>  |  <a href="#id4402457" class="shortcut">Description</a>  |  <a href="#id4402243" class="shortcut">Object Hierarchy</a>  |  <a href="#id4402297" class="shortcut">Implemented Interfaces</a>  |  <a href="#id4402327" class="shortcut">Properties</a>  |  <a href="#id4402430" class="shortcut">Signals</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="GtkCurve"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id4401991"></a><span class="refentrytitle">GtkCurve</span></h2><p>GtkCurve — Allows direct editing of a curve</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include <gtk/gtk.h> <a class="link" href="GtkCurve.html#GtkCurve-struct">GtkCurve</a>;<a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>* <a class="link" href="GtkCurve.html#gtk-curve-new">gtk_curve_new</a> (void);void <a class="link" href="GtkCurve.html#gtk-curve-reset">gtk_curve_reset</a> (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve);void <a class="link" href="GtkCurve.html#gtk-curve-set-gamma">gtk_curve_set_gamma</a> (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> gamma_);void <a class="link" href="GtkCurve.html#gtk-curve-set-range">gtk_curve_set_range</a> (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> min_x, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> max_x, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> min_y, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> max_y);void <a class="link" href="GtkCurve.html#gtk-curve-get-vector">gtk_curve_get_vector</a> (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve, int veclen, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> vector[]);void <a class="link" href="GtkCurve.html#gtk-curve-set-vector">gtk_curve_set_vector</a> (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve, int veclen, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> vector[]);void <a class="link" href="GtkCurve.html#gtk-curve-set-curve-type">gtk_curve_set_curve_type</a> (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve, <a class="link" href="gtk-Standard-Enumerations.html#GtkCurveType">GtkCurveType</a> type);</pre></div><div class="refsect1" lang="en"><a name="id4402243"></a><h2>Object Hierarchy</h2><pre class="synopsis"> <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a> +----<ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> +----<a class="link" href="GtkObject.html" title="GtkObject">GtkObject</a> +----<a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> +----<a class="link" href="GtkDrawingArea.html" title="GtkDrawingArea">GtkDrawingArea</a> +----GtkCurve</pre></div><div class="refsect1" lang="en"><a name="id4402297"></a><h2>Implemented Interfaces</h2><p>GtkCurve implements AtkImplementorIface and <a class="link" href="gtk-gtkbuildable.html#GtkBuildable">GtkBuildable</a>.</p></div><div class="refsect1" lang="en"><a name="id4402327"></a><h2>Properties</h2><pre class="synopsis"> "<a class="link" href="GtkCurve.html#GtkCurve--curve-type">curve-type</a>" <a class="link" href="gtk-Standard-Enumerations.html#GtkCurveType">GtkCurveType</a> : Read / Write "<a class="link" href="GtkCurve.html#GtkCurve--max-x">max-x</a>" <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> : Read / Write "<a class="link" href="GtkCurve.html#GtkCurve--max-y">max-y</a>" <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> : Read / Write "<a class="link" href="GtkCurve.html#GtkCurve--min-x">min-x</a>" <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> : Read / Write "<a class="link" href="GtkCurve.html#GtkCurve--min-y">min-y</a>" <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> : Read / Write</pre></div><div class="refsect1" lang="en"><a name="id4402430"></a><h2>Signals</h2><pre class="synopsis"> "<a class="link" href="GtkCurve.html#GtkCurve-curve-type-changed">curve-type-changed</a>" : Run First</pre></div><div class="refsect1" lang="en"><a name="id4402457"></a><h2>Description</h2><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> This widget is considered too specialized/little-used for GTK+, and will in the future be moved to some other package. If your application needs this widget, feel free to use it, as the widget does work and is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will eventually move out of the GTK+ distribution.</p></div><p>The <a class="link" href="GtkCurve.html" title="GtkCurve"><span class="type">GtkCurve</span></a> widget allows the user to edit a curve covering a range ofvalues. It is typically used to fine-tune color balances in graphicsapplications like the Gimp.</p><p>The <a class="link" href="GtkCurve.html" title="GtkCurve"><span class="type">GtkCurve</span></a> widget has 3 modes of operation - spline, linear and free.In spline mode the user places points on the curve which are automaticallyconnected together into a smooth curve. In linear mode the user places pointson the curve which are connected by straight lines. In free mode the user candraw the points of the curve freely, and they are not connected at all.</p></div><div class="refsect1" lang="en"><a name="id4402513"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id4402523"></a><h3><a name="GtkCurve-struct"></a>GtkCurve</h3><a class="indexterm" name="id4402536"></a><pre class="programlisting">typedef struct _GtkCurve GtkCurve;</pre><p>The <a class="link" href="GtkCurve.html#GtkCurve-struct"><span class="type">GtkCurve</span></a> struct contains private data only, andshould be accessed using the functions below.</p></div><hr><div class="refsect2" lang="en"><a name="id4402561"></a><h3><a name="gtk-curve-new"></a>gtk_curve_new ()</h3><a class="indexterm" name="id4402574"></a><pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>* gtk_curve_new (void);</pre><p>Creates a new <a class="link" href="GtkCurve.html" title="GtkCurve"><span class="type">GtkCurve</span></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td>a new <a class="link" href="GtkCurve.html" title="GtkCurve"><span class="type">GtkCurve</span></a>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id4402626"></a><h3><a name="gtk-curve-reset"></a>gtk_curve_reset ()</h3><a class="indexterm" name="id4402639"></a><pre class="programlisting">void gtk_curve_reset (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve);</pre><p>Resets the curve to a straight line from the minimum x and y values to themaximum x and y values (i.e. from the bottom-left to the top-right corners).The curve type is not changed.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>curve</code></em> :</span></p></td><td>a <a class="link" href="GtkCurve.html" title="GtkCurve"><span class="type">GtkCurve</span></a>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id4402696"></a><h3><a name="gtk-curve-set-gamma"></a>gtk_curve_set_gamma ()</h3><a class="indexterm" name="id4402710"></a><pre class="programlisting">void gtk_curve_set_gamma (<a class="link" href="GtkCurve.html" title="GtkCurve">GtkCurve</a> *curve, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat">gfloat</a> gamma_);</pre><p>Recomputes the entire curve using the given gamma value.A gamma value of 1 results in a straight line. Values greater than 1 resultin a curve above the straight line. Values less than 1 result in a curvebelow the straight line. The curve type is changed to <code class="literal">GTK_CURVE_TYPE_FREE</code>.FIXME: Needs a more precise definition of gamma.</p><div class="variablelist"><table border="0">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -