Top |
WebKitViewportAttributesWebKitViewportAttributes — Represents the viewport properties of a web page |
Properties
gint | available-height | Read / Write |
gint | available-width | Read / Write |
gint | desktop-width | Read / Write |
gint | device-dpi | Read / Write |
gint | device-height | Read / Write |
gfloat | device-pixel-ratio | Read |
gint | device-width | Read / Write |
gint | height | Read |
gfloat | initial-scale-factor | Read |
gfloat | maximum-scale-factor | Read |
gfloat | minimum-scale-factor | Read |
gboolean | user-scalable | Read |
gboolean | valid | Read |
gint | width | Read |
Description
WebKitViewportAttributes offers the viewport properties to user agents to control the viewport layout. It contains the viewport size, initial scale with limits, and information about whether a user is able to scale the contents in the viewport. This makes a web page fit the device screen.
The “viewport-attributes-changed” signal will be emitted with WebKitViewportAttributes when the viewport attributes are updated in the case of loading web pages contain the viewport properties and calling webkit_viewport_attributes_recompute.
If the device size, available size, desktop width, or device DPI needs to be changed due to a consequence of an explicit browser request (caused by screen rotation, resizing, or similar reasons), You should call webkit_viewport_attributes_recompute to recompute the viewport properties and override those values in the handler of “viewport-attributes-recompute-requested” signal.
For more information on the viewport properties, refer to the Safari reference library at http://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* Connect to the viewport-attributes-changes signal */ WebKitViewportAttributes* attributes = webkit_web_view_get_viewport_attributes (web_view); g_signal_connect (web_view, "viewport-attributes-recompute-requested", G_CALLBACK (viewport_recompute_cb), window); g_signal_connect (web_view, "viewport-attributes-changed", G_CALLBACK (viewport_changed_cb), window); g_signal_connect (attributes, "notify::valid", G_CALLBACK (viewport_valid_changed_cb), web_view); /* Handle the viewport-attributes-recompute-requested signal to override the device width */ static void viewport_recompute_cb (WebKitWebView* web_view, WebKitViewportAttributes* attributes, GtkWidget* window) { int override_available_width = 480; g_object_set (G_OBJECT(attributes), "available-width", override_available_width, NULL); } /* Handle the viewport-attributes-changed signal to recompute the initial scale factor */ static void viewport_changed_cb (WebKitWebView* web_view, WebKitViewportAttributes* attributes, gpointer data) { gfloat initialScale; g_object_get (G_OBJECT (atributes), "initial-scale-factor", &initialScale, NULL); webkit_web_view_set_zoom_level (web_view, initialScale); } /* Handle the notify::valid signal to initialize the zoom level */ static void viewport_valid_changed_cb (WebKitViewportAttributes* attributes, GParamSpec* pspec, WebKitWebView* web_view) { gboolean is_valid; g_object_get (attributes, "valid", &is_valid, NULL); if (!is_valid) webkit_web_view_set_zoom_level (web_view, 1.0); } |
Functions
webkit_viewport_attributes_recompute ()
void
webkit_viewport_attributes_recompute (WebKitViewportAttributes *viewportAttributes
);
Recompute the optimal viewport attributes and emit the viewport-attribute-changed signal. The viewport-attributes-recompute-requested signal also will be handled to override the device size, available size, desktop width, or device DPI.
Since: 1.3.8
Property Details
The “available-height”
property
“available-height” gint
The height of the visible area.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “available-width”
property
“available-width” gint
The width of the visible area.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “desktop-width”
property
“desktop-width” gint
The width of viewport that works well for most web pages designed for desktop.
Flags: Read / Write
Allowed values: >= 0
Default value: 980
The “device-dpi”
property
“device-dpi” gint
The number of dots per inch of the screen.
Flags: Read / Write
Allowed values: >= 0
Default value: 160
The “device-height”
property
“device-height” gint
The height of the screen.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “device-pixel-ratio”
property
“device-pixel-ratio” gfloat
The device pixel ratio of the viewport.
Flags: Read
Allowed values: >= -1
Default value: -1
The “device-width”
property
“device-width” gint
The width of the screen.
Flags: Read / Write
Allowed values: >= 0
Default value: 0
The “height”
property
“height” gint
The height of the viewport.
Flags: Read
Allowed values: >= 0
Default value: 0
The “initial-scale-factor”
property
“initial-scale-factor” gfloat
The initial scale of the viewport.
Flags: Read
Allowed values: >= -1
Default value: -1
The “maximum-scale-factor”
property
“maximum-scale-factor” gfloat
The maximum scale of the viewport.
Flags: Read
Allowed values: >= -1
Default value: -1
The “minimum-scale-factor”
property
“minimum-scale-factor” gfloat
The minimum scale of the viewport.
Flags: Read
Allowed values: >= -1
Default value: -1
The “user-scalable”
property
“user-scalable” gboolean
Determines whether or not the user can zoom in and out.
Flags: Read
Default value: TRUE
The “valid”
property
“valid” gboolean
Determines whether or not the attributes are valid, and can be used.
Flags: Read
Default value: FALSE
The “width”
property
“width” gint
The width of the viewport.
Flags: Read
Allowed values: >= 0
Default value: 0