Gtk-- Reference: Gnome::Art::AffineTrans

Class Index | Cross Index | Namespace Index

# Class Gnome::Art::AffineTrans

Used by CanvasItem.
Contained in: Gnome::Art
Derived from: none
Derived by: none

#include <gtk--/affinetrans.h>

### public function member index:
`` | `AffineTrans` | `(`gdouble` `scale` = 1.0)`;
`` | `AffineTrans` | `(`gdouble` `aff[]`)`;
`` | `AffineTrans` | `(`const` `AffineTrans`& `src`)`;
``Point`` | `apply_to` | `(`const` `Point`& `p`) `const``;
``gdouble`` | `expansion` | `() `const``;
``void`` | `flip` | `(`gboolean` `horiz`, `gboolean` `vert`)`;
``static` `AffineTrans`` | `identity` | `()`;
``void`` | `invert` | `()`;
``gdouble`*` | `obj` | `()`;
``const` `gdouble`*` | `obj` | `() `const``;
``gboolean`` | `operator``!=` | `(`AffineTrans`& `other`)`;
``Point`` | `operator``*` | `(`const` `Point`& `p`) `const``;
``AffineTrans`` | `operator``*` | `(`const` `AffineTrans`& `aff2`)`;
``AffineTrans` `const`&` | `operator``*=` | `(`AffineTrans`& `other`)`;
``AffineTrans`&` | `operator``=` | `(`const` `AffineTrans`& `src`)`;
``gboolean`` | `operator``==` | `(`AffineTrans`& `other`)`;
``gdouble`&` | `operator``[]` | `(`unsigned` `int` `idx`)`;
``const` `gdouble`&` | `operator``[]` | `(`unsigned` `int` `idx`) `const``;
``gboolean`` | `rectilinear` | `() `const``;
``static` `AffineTrans`` | `rotation` | `(`gdouble` `theta`)`;
``static` `AffineTrans`` | `scaling` | `(`gdouble` `s`)`;
``static` `AffineTrans`` | `scaling` | `(`gdouble` `sx`, `gdouble` `sy`)`;
``static` `AffineTrans`` | `shearing` | `(`gdouble` `theta`)`;
``Gtk::string`` | `to_string` | `() `const``;
``static` `AffineTrans`` | `translation` | `(`gdouble` `dx`, `gdouble` `dy`)`;
``static` `AffineTrans`` | `translation` | `(`const` `Point`& `p`)`;
`` | `~AffineTrans` | `()`;

## Description:

## Function Member Descriptions:

Gnome::Art::AffineTrans::AffineTrans - Initialize the affine as unit matrix, with a scaling factor

`` `AffineTrans``(`gdouble` `scale` = 1.0)`;
Gnome::Art::AffineTrans::AffineTrans - aff[6]

`` `AffineTrans``(`gdouble` `aff[]`)`;
Gnome::Art::AffineTrans::apply_to - Apply the affine to a given point e.g. Point dst = affine.apply(Point(x,y)); is the same as: dst.x = x * affine[0] + y * affine[2] + affine[4]; dst.y = x * affine[1] + y * affine[3] + affine[5];

``Point`` `apply_to``(`const` `Point`& `p`) `const``;
Gnome::Art::AffineTrans::expansion - Find the affine's "expansion factor", i.e. the scale amount

``gdouble`` `expansion``() `const``;
Gnome::Art::AffineTrans::flip - Flip horizontally and/or vertically the affine

``void`` `flip``(`gboolean` `horiz`, `gboolean` `vert`)`;
Gnome::Art::AffineTrans::identity - Set up the identity matrix

``static` `AffineTrans`` `identity``()`;
Gnome::Art::AffineTrans::invert - Give the inverse of the affine

``void`` `invert``()`;
Gnome::Art::AffineTrans::operator * - Apply the affine to a given point

``Point`` `operator``*``(`const` `Point`& `p`) `const``;
Gnome::Art::AffineTrans::operator * - Compose two affines

``AffineTrans`` `operator``*``(`const` `AffineTrans`& `aff2`)`;
Gnome::Art::AffineTrans::operator *= - Apply other affine to the affine

``AffineTrans` `const`&` `operator``*=``(`AffineTrans`& `other`)`;
Gnome::Art::AffineTrans::rectilinear - Determine whether the affine is rectilinear (rotates 0, 90, 180 or 270 degrees)

``gboolean`` `rectilinear``() `const``;
Gnome::Art::AffineTrans::rotation - Set up a rotation matrix; theta is given in degrees

``static` `AffineTrans`` `rotation``(`gdouble` `theta`)`;
Gnome::Art::AffineTrans::scaling - Set up a scaling matrix

``static` `AffineTrans`` `scaling``(`gdouble` `s`)`;
Gnome::Art::AffineTrans::scaling - Set up a scaling matrix

``static` `AffineTrans`` `scaling``(`gdouble` `sx`, `gdouble` `sy`)`;
Gnome::Art::AffineTrans::shearing - Set up a shearing matrix; theta given in degrees

``static` `AffineTrans`` `shearing``(`gdouble` `theta`)`;
Gnome::Art::AffineTrans::translation - Set up a translation matrix

``static` `AffineTrans`` `translation``(`gdouble` `dx`, `gdouble` `dy`)`;
Gnome::Art::AffineTrans::translation - Set up a translation matrix

``static` `AffineTrans`` `translation``(`const` `Point`& `p`)`;

## Variable Member Descriptions: