## GimpZoomModel GimpZoomModel — A model for zoom values. |

## Functions

GimpZoomModel * | gimp_zoom_model_new ()
void | gimp_zoom_model_set_range ()
void | gimp_zoom_model_zoom ()
gdouble | gimp_zoom_model_get_factor ()
void | gimp_zoom_model_get_fraction ()
GtkWidget * | gimp_zoom_button_new ()
gdouble | gimp_zoom_model_zoom_step ()

## Properties

gchar * | fraction | Read
gdouble | maximum | Read / Write
gdouble | minimum | Read / Write
gchar * | percentage | Read
gdouble | value | Read / Write

## Signals

void | zoomed | Run Last

## Types and Values

| GimpZoomModel
enum | GimpZoomType

## Object Hierarchy

        GObject
        ╰── GimpZoomModel

## Description

A model for zoom values.

## Functions

### gimp_zoom_model_new ()

    GimpZoomModel *
    gimp_zoom_model_new (void);

Creates a new GimpZoomModel.

#### Returns

a new GimpZoomModel.

Since GIMP 2.4

### gimp_zoom_model_set_range ()

    void
    gimp_zoom_model_set_range (GimpZoomModel *model,
                               gdouble min,
                               gdouble max);

Sets the allowed range of the `model` .

Since GIMP 2.4

#### Parameters

model | a GimpZoomModel |
min | new lower limit for zoom factor |
max | new upper limit for zoom factor |

### gimp_zoom_model_zoom ()

    void
    gimp_zoom_model_zoom (GimpZoomModel *model,
                          GimpZoomType zoom_type,
                          gdouble scale);

Since GIMP 2.4

#### Parameters

model | a GimpZoomModel |
zoom_type | the GimpZoomType |
scale | ignored unless `zoom_type` == `GIMP_ZOOM_TO` |

### gimp_zoom_model_get_factor ()

    gdouble
    gimp_zoom_model_get_factor (GimpZoomModel *model);

Retrieves the current zoom factor of `model` .

#### Parameters

model | a GimpZoomModel |

#### Returns

the current scale factor

Since GIMP 2.4

### gimp_zoom_model_get_fraction ()

    void
    gimp_zoom_model_get_fraction (GimpZoomModel *model,
                                  gint *numerator,
                                  gint *denominator);

Retrieves the current zoom factor of `model` as a fraction.

Since GIMP 2.4

#### Parameters

model | a GimpZoomModel |
numerator | return location for numerator |
denominator | return location for denominator |

### gimp_zoom_button_new ()

    GtkWidget *
    gimp_zoom_button_new (GimpZoomModel *model,
                          GimpZoomType zoom_type,
                          GtkIconSize icon_size);

#### Parameters

model | a GimpZoomModel |
icon_size | use 0 for a button with text labels |

#### Returns

a newly created GtkButton

Since GIMP 2.4

### gimp_zoom_model_zoom_step ()

    gdouble
    gimp_zoom_model_zoom_step (GimpZoomType zoom_type,
                               gdouble scale);

Utility function to calculate a new scale factor.

#### Parameters

zoom_type | the zoom type |
scale | ignored unless `zoom_type` == `GIMP_ZOOM_TO` |

#### Returns

the new scale factor

Since GIMP 2.4

## Types and Values

### GimpZoomModel

    typedef struct _GimpZoomModel GimpZoomModel;

### enum GimpZoomType

the zoom types for GimpZoomModel.

#### Members

GIMP_ZOOM_IN | zoom in |
GIMP_ZOOM_OUT | zoom out |
GIMP_ZOOM_IN_MORE | zoom in a lot |
GIMP_ZOOM_OUT_MORE | zoom out a lot |
GIMP_ZOOM_IN_MAX | zoom in as far as possible |
GIMP_ZOOM_OUT_MAX | zoom out as far as possible |
GIMP_ZOOM_TO | zoom to a specific zoom factor |

## Property Details

### The `“fraction”` property

      “fraction”                 gchar *

Flags: Read

Default value: "1:1"

### The `“maximum”` property

      “maximum”                  gdouble

Flags: Read / Write

Allowed values: [0.00390625,256]

Default value: 256

### The `“minimum”` property

      “minimum”                  gdouble

Flags: Read / Write

Allowed values: [0.00390625,256]

Default value: 0.00390625

### The `“percentage”` property

      “percentage”               gchar *

Flags: Read

Default value: "100%"

### The `“value”` property

      “value”                    gdouble

Flags: Read / Write

Allowed values: [0.00390625,256]

Default value: 1

## Signal Details

### The `“zoomed”` signal

    void
    user_function (GimpZoomModel *model,
                   gdouble        old_factor,
                   gdouble        new_factor,
                   gpointer       user_data)

Emitted when the zoom factor of the zoom model changes.

#### Parameters

model | the object that received the signal |
old_factor | the zoom factor before it changes |
new_factor | the zoom factor after it has changed. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last