GwyShader

GwyShader — Spherical angle selector

Synopsis

#include <libgwydgets/gwydgets.h>

struct              GwyShader;
struct              GwyShaderClass;
GtkWidget *         gwy_shader_new                      (const gchar *gradient);
gdouble             gwy_shader_get_theta                (GwyShader *shader);
gdouble             gwy_shader_get_phi                  (GwyShader *shader);
void                gwy_shader_set_theta                (GwyShader *shader,
                                                         gdouble theta);
void                gwy_shader_set_phi                  (GwyShader *shader,
                                                         gdouble phi);
void                gwy_shader_set_angle                (GwyShader *shader,
                                                         gdouble theta,
                                                         gdouble phi);
const gchar *       gwy_shader_get_gradient             (GwyShader *shader);
void                gwy_shader_set_gradient             (GwyShader *shader,
                                                         const gchar *gradient);
GtkUpdateType       gwy_shader_get_update_policy        (GwyShader *shader);
void                gwy_shader_set_update_policy        (GwyShader *shader,
                                                         GtkUpdateType update_policy);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GwyShader

Implemented Interfaces

GwyShader implements AtkImplementorIface and GtkBuildable.

Properties

  "gradient"                 gchar*                : Read / Write
  "update-policy"            GtkUpdateType         : Read / Write

Signals

  "angle-changed"                                  : Run First

Description

GwyShader is a spherical angle selector that allows user to change angle by simply moving the north pole of a sphere around with mouse. It can display the sphere colored with various GwyGradient's.

Details

struct GwyShader

struct GwyShader;


struct GwyShaderClass

struct GwyShaderClass {
    GtkWidgetClass parent_class;

    void (*angle_changed)(GwyShader *shader);

    void (*reserved1)(void);
};


gwy_shader_new ()

GtkWidget *         gwy_shader_new                      (const gchar *gradient);

Creates a new spherical shader.

The widget takes up all the space allocated for it.

gradient :

Name of gradient to color the spehere with. Can be NULL to use the default gradient.

Returns :

The new shader as a GtkWidget.

gwy_shader_get_theta ()

gdouble             gwy_shader_get_theta                (GwyShader *shader);

Returns the theta coordinate of a shader.

shader :

A shader.

Returns :

The theta coordinate, in radians. Theta coordinate is angle from sphere's north pole.

gwy_shader_get_phi ()

gdouble             gwy_shader_get_phi                  (GwyShader *shader);

Returns the phi coordinate of a shader.

shader :

A shader.

Returns :

The phi coordinate, in radians. Phi coordinate is orientation in horizontal plane, measured from x axis, counterclockwise.

gwy_shader_set_theta ()

void                gwy_shader_set_theta                (GwyShader *shader,
                                                         gdouble theta);

Sets the theta coordinate of a shader.

shader :

A shader.

theta :

The theta coordinate to set. See gwy_shader_get_theta() for description.

gwy_shader_set_phi ()

void                gwy_shader_set_phi                  (GwyShader *shader,
                                                         gdouble phi);

Sets the phi coordinate of a shader.

shader :

A shader.

phi :

The phi coordinate to set. See gwy_shader_get_phi() for description.

gwy_shader_set_angle ()

void                gwy_shader_set_angle                (GwyShader *shader,
                                                         gdouble theta,
                                                         gdouble phi);

Sets the spherical angle of a shader.

shader :

A shader.

theta :

The theta coordinate to set. See gwy_shader_get_theta() for description.

phi :

The phi coordinate to set. See gwy_shader_get_phi() for description.

gwy_shader_get_gradient ()

const gchar *       gwy_shader_get_gradient             (GwyShader *shader);

Returns the name of color gradient a shader uses.

shader :

A shader.

Returns :

The gradient name. It must not be modified or freed. It may differ the name that was used on initialization or set with gwy_shader_set_gradient(), if the gradient didn't exist or was renamed meanwhile.

gwy_shader_set_gradient ()

void                gwy_shader_set_gradient             (GwyShader *shader,
                                                         const gchar *gradient);

Sets the gradient a shader uses.

shader :

A shader.

gradient :

Name of gradient shader should use. It should exist.

gwy_shader_get_update_policy ()

GtkUpdateType       gwy_shader_get_update_policy        (GwyShader *shader);

Returns the update policy of a shader.

shader :

A shader.

Returns :

The update policy.

gwy_shader_set_update_policy ()

void                gwy_shader_set_update_policy        (GwyShader *shader,
                                                         GtkUpdateType update_policy);

Sets the update policy of a shader.

shader :

A shader.

update_policy :

The update policy shader should use.

Property Details

The "gradient" property

  "gradient"                 gchar*                : Read / Write

Name of gradient the sphere is colored with.

Default value: NULL


The "update-policy" property

  "update-policy"            GtkUpdateType         : Read / Write

When value change causes signal emission.

Default value: GTK_UPDATE_CONTINUOUS

Signal Details

The "angle-changed" signal

void                user_function                      (GwyShader *gwyshader,
                                                        gpointer   user_data)      : Run First

The ::angle-changed signal is emitted when the spherical angle changes.

gwyshader :

The GwyShader which received the signal.

user_data :

user data set when the signal handler was connected.