mirror of
https://github.com/brl/mutter.git
synced 2024-12-24 12:02:04 +00:00
[cogl] Make cogl_setup_viewport() a private function
The setup_viewport() function should only be used by Clutter and not by application code. It can be emulated by changing the Stage size and perspective and requeueing a redraw after calling clutter_stage_ensure_viewport().
This commit is contained in:
parent
32018584c0
commit
7252c14197
@ -160,13 +160,15 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage)
|
|||||||
clutter_actor_get_size (CLUTTER_ACTOR (stage), &width, &height);
|
clutter_actor_get_size (CLUTTER_ACTOR (stage), &width, &height);
|
||||||
clutter_stage_get_perspective (stage, &perspective);
|
clutter_stage_get_perspective (stage, &perspective);
|
||||||
|
|
||||||
CLUTTER_NOTE (PAINT, "Setting up the viewport");
|
CLUTTER_NOTE (PAINT,
|
||||||
|
"Setting up the viewport { w:%.2f, h:%.2f }",
|
||||||
|
width, height);
|
||||||
|
|
||||||
cogl_setup_viewport (width, height,
|
_cogl_setup_viewport (width, height,
|
||||||
perspective.fovy,
|
perspective.fovy,
|
||||||
perspective.aspect,
|
perspective.aspect,
|
||||||
perspective.z_near,
|
perspective.z_near,
|
||||||
perspective.z_far);
|
perspective.z_far);
|
||||||
|
|
||||||
CLUTTER_UNSET_PRIVATE_FLAGS (stage, CLUTTER_ACTOR_SYNC_MATRICES);
|
CLUTTER_UNSET_PRIVATE_FLAGS (stage, CLUTTER_ACTOR_SYNC_MATRICES);
|
||||||
}
|
}
|
||||||
|
@ -556,11 +556,11 @@ clutter_texture_paint (ClutterActor *self)
|
|||||||
|
|
||||||
/* Use below to set the modelview matrix as if the viewport
|
/* Use below to set the modelview matrix as if the viewport
|
||||||
was still the same size as the stage */
|
was still the same size as the stage */
|
||||||
cogl_setup_viewport (stage_width, stage_height,
|
_cogl_setup_viewport (stage_width, stage_height,
|
||||||
perspective.fovy,
|
perspective.fovy,
|
||||||
perspective.aspect,
|
perspective.aspect,
|
||||||
perspective.z_near,
|
perspective.z_near,
|
||||||
perspective.z_far);
|
perspective.z_far);
|
||||||
|
|
||||||
/* Use a projection matrix that makes the actor appear as it
|
/* Use a projection matrix that makes the actor appear as it
|
||||||
would if it was rendered at its normal screen location */
|
would if it was rendered at its normal screen location */
|
||||||
|
@ -193,8 +193,8 @@ void cogl_ortho (float left,
|
|||||||
float near,
|
float near,
|
||||||
float far);
|
float far);
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* cogl_setup_viewport:
|
* _cogl_setup_viewport:
|
||||||
* @width: Width of the viewport
|
* @width: Width of the viewport
|
||||||
* @height: Height of the viewport
|
* @height: Height of the viewport
|
||||||
* @fovy: Field of view angle in degrees
|
* @fovy: Field of view angle in degrees
|
||||||
@ -208,9 +208,11 @@ void cogl_ortho (float left,
|
|||||||
* with one that has a viewing angle of @fovy along the y-axis and a
|
* with one that has a viewing angle of @fovy along the y-axis and a
|
||||||
* view scaled according to @aspect along the x-axis. The view is
|
* view scaled according to @aspect along the x-axis. The view is
|
||||||
* clipped according to @z_near and @z_far on the z-axis.
|
* clipped according to @z_near and @z_far on the z-axis.
|
||||||
|
*
|
||||||
|
* This function is used only by Clutter.
|
||||||
*/
|
*/
|
||||||
void cogl_setup_viewport (guint width,
|
void _cogl_setup_viewport (guint width,
|
||||||
guint height,
|
guint height,
|
||||||
float fovy,
|
float fovy,
|
||||||
float aspect,
|
float aspect,
|
||||||
float z_near,
|
float z_near,
|
||||||
|
@ -475,12 +475,12 @@ cogl_viewport (guint width,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cogl_setup_viewport (guint width,
|
_cogl_setup_viewport (guint width,
|
||||||
guint height,
|
guint height,
|
||||||
float fovy,
|
float fovy,
|
||||||
float aspect,
|
float aspect,
|
||||||
float z_near,
|
float z_near,
|
||||||
float z_far)
|
float z_far)
|
||||||
{
|
{
|
||||||
float z_camera;
|
float z_camera;
|
||||||
CoglMatrix projection_matrix;
|
CoglMatrix projection_matrix;
|
||||||
@ -488,7 +488,7 @@ cogl_setup_viewport (guint width,
|
|||||||
GE( glViewport (0, 0, width, height) );
|
GE( glViewport (0, 0, width, height) );
|
||||||
|
|
||||||
/* For Ortho projection.
|
/* For Ortho projection.
|
||||||
* _cogl_current_matrix_ortho (0, width << 16, 0, height << 16, -1 << 16, 1 << 16);
|
* _cogl_current_matrix_ortho (0, width, 0, height, -1, 1);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cogl_perspective (fovy, aspect, z_near, z_far);
|
cogl_perspective (fovy, aspect, z_near, z_far);
|
||||||
@ -542,7 +542,7 @@ cogl_setup_viewport (guint width,
|
|||||||
}
|
}
|
||||||
|
|
||||||
CoglFeatureFlags
|
CoglFeatureFlags
|
||||||
cogl_get_features ()
|
cogl_get_features (void)
|
||||||
{
|
{
|
||||||
_COGL_GET_CONTEXT (ctx, 0);
|
_COGL_GET_CONTEXT (ctx, 0);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user