GwyShader

GwyShader — Spherical angle selector

Functions

Properties

char * gradient Read / Write

Signals

void angle-changed Run First

Types and Values

struct GwyShader
struct GwyShaderClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GwyShader

Implemented Interfaces

GwyShader implements AtkImplementorIface and GtkBuildable.

Includes

#include <libgwydgets/gwydgets.h>

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 a GwyGradient.

Functions

gwy_shader_new()

GtkWidget *
gwy_shader_new (void);

Creates a new spherical shader.

The widget takes up all the space allocated for it.

Returns

The new shader widget.


gwy_shader_get_theta()

gdouble
gwy_shader_get_theta (GwyShader *shader);

Returns the theta coordinate of a shaded spherical angle selector.

Parameters

shader

A shaded spherical angle selector.

 

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 shaded spherical angle selector.

Parameters

shader

A shaded spherical angle selector.

 

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 shaded spherical angle selector.

Parameters

shader

A shaded spherical angle selector.

 

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 shaded spherical angle selector.

Parameters

shader

A shaded spherical angle selector.

 

phi

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

 

gwy_shader_set_angle()

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

Sets both spherical angles of a shaded spherical angle selector.

Parameters

shader

A shaded spherical angle selector.

 

theta

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

 

phi

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

 

gwy_shader_get_gradient()

const gchar *
gwy_shader_get_gradient (GwyShader *shader);

Returns the name of color gradient a shaded spherical angle selector uses.

Parameters

shader

A shaded spherical angle selector.

 

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 did not exist or was renamed meanwhile.


gwy_shader_set_gradient()

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

Sets the gradient a shaded spherical angle selector uses.

Parameters

shader

A shaded spherical angle selector.

 

gradient

Name of gradient shader should use. It should exist.

 

Types and Values

struct GwyShader

struct GwyShader;

struct GwyShaderClass

struct GwyShaderClass {
    GtkWidgetClass parent_class;

    void (*angle_changed)(GwyShader *shader);
    void (*reserved1)(void);
    void (*reserved2)(void);
    void (*reserved3)(void);
    void (*reserved4)(void);
};

Property Details

The “gradient” property

  “gradient”                 char *

Name of gradient the sphere is colored with.

Owner: GwyShader

Flags: Read / Write

Default value: NULL

Signal Details

The “angle-changed” signal

void
user_function (GwyShader *gwyshader,
               gpointer   user_data)

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

Parameters

gwyshader

The GwyShader which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First