xbmc
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CGraphicContext Class Reference
Inheritance diagram for CGraphicContext:
Inheritance graph
[legend]
Collaboration diagram for CGraphicContext:
Collaboration graph
[legend]

Classes

class  UITransform
 

Public Member Functions

float GetFPS () const
 
void SetFPS (float fps)
 
float GetDisplayLatency () const
 
bool IsFullScreenRoot () const
 
void ToggleFullScreen ()
 
void SetFullScreenVideo (bool bOnOff)
 
bool IsFullScreenVideo () const
 
bool IsValidResolution (RESOLUTION res)
 
void SetVideoResolution (RESOLUTION res, bool forceUpdate)
 
void ApplyModeChange (RESOLUTION res)
 
void ApplyWindowResize (int newWidth, int newHeight)
 
RESOLUTION GetVideoResolution () const
 
const RESOLUTION_INFO GetResInfo () const
 
const RESOLUTION_INFO GetResInfo (RESOLUTION res) const
 
void SetResInfo (RESOLUTION res, const RESOLUTION_INFO &info)
 
void Flip (bool rendered, bool videoLayer)
 
int GetWidth () const
 
int GetHeight () const
 
bool SetViewPort (float fx, float fy, float fwidth, float fheight, bool intersectPrevious=false)
 
void RestoreViewPort ()
 
void SetScissors (const CRect &rect)
 
void ResetScissors ()
 
const CRectGetScissors () const
 
const CRect GetViewWindow () const
 
void SetViewWindow (float left, float top, float right, float bottom)
 
bool IsCalibrating () const
 
void SetCalibrating (bool bOnOff)
 
void ResetOverscan (RESOLUTION res, OVERSCAN &overscan)
 
void ResetOverscan (RESOLUTION_INFO &resinfo)
 
void ResetScreenParameters (RESOLUTION res)
 
void CaptureStateBlock ()
 
void ApplyStateBlock ()
 
void Clear (UTILS::COLOR::Color color=0)
 
void GetAllowedResolutions (std::vector< RESOLUTION > &res)
 
void GetGUIScaling (const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix=NULL)
 
void SetRenderingResolution (const RESOLUTION_INFO &res, bool needsScaling)
 Sets scaling up for rendering.
 
void SetScalingResolution (const RESOLUTION_INFO &res, bool needsScaling)
 Sets scaling up for skin loading etc.
 
float GetScalingPixelRatio () const
 
void InvertFinalCoords (float &x, float &y) const
 
float ScaleFinalXCoord (float x, float y) const
 
float ScaleFinalYCoord (float x, float y) const
 
float ScaleFinalZCoord (float x, float y) const
 
void ScaleFinalCoords (float &x, float &y, float &z) const
 
bool RectIsAngled (float x1, float y1, float x2, float y2) const
 
const TransformMatrixGetGUIMatrix () const
 
float GetGUIScaleX () const
 
float GetGUIScaleY () const
 
UTILS::COLOR::Color MergeAlpha (UTILS::COLOR::Color color) const
 
UTILS::COLOR::Color MergeColor (UTILS::COLOR::Color color) const
 
void SetOrigin (float x, float y)
 
void RestoreOrigin ()
 
void SetCameraPosition (const CPoint &camera)
 
void SetStereoView (RENDER_STEREO_VIEW view)
 
RENDER_STEREO_VIEW GetStereoView ()
 
void SetStereoMode (RENDER_STEREO_MODE mode)
 
RENDER_STEREO_MODE GetStereoMode ()
 
void RestoreCameraPosition ()
 
void SetStereoFactor (float factor)
 
void RestoreStereoFactor ()
 
bool SetClipRegion (float x, float y, float w, float h)
 Set a region in which to clip all rendering Anything that is rendered after setting a clip region will be clipped so that no part renders outside of the clip region. Successive calls to SetClipRegion intersect the clip region, which means the clip region may eventually become an empty set. In this case SetClipRegion returns false to indicate that no rendering need be performed. More...
 
void RestoreClipRegion ()
 
void ClipRect (CRect &vertex, CRect &texture, CRect *diffuse=NULL)
 
CRect GetClipRegion ()
 
void AddGUITransform ()
 
TransformMatrix AddTransform (const TransformMatrix &matrix)
 
void SetTransform (const TransformMatrix &matrix)
 
void SetTransform (const TransformMatrix &matrix, float scaleX, float scaleY)
 
void RemoveTransform ()
 
CRect StereoCorrection (const CRect &rect) const
 
CPoint StereoCorrection (const CPoint &point) const
 
CRect GenerateAABB (const CRect &rect) const
 
const std::string & GetMediaDir () const
 
void SetMediaDir (const std::string &strMediaDir)
 

Protected Member Functions

void UpdateCameraPosition (const CPoint &camera, const float &factor)
 
void SetVideoResolutionInternal (RESOLUTION res, bool forceUpdate)
 
void ApplyVideoResolution (RESOLUTION res)
 
void UpdateInternalStateWithResolution (RESOLUTION res)
 

Protected Attributes

int m_iScreenHeight = 576
 
int m_iScreenWidth = 720
 
std::string m_strMediaDir
 
CRect m_videoRect
 
bool m_bFullScreenRoot = true
 
bool m_bFullScreenVideo = false
 
bool m_bCalibrating = false
 
RESOLUTION m_Resolution = RES_INVALID
 
float m_fFPSOverride = 0.0f
 
RESOLUTION_INFO m_windowResolution
 
std::stack< CPointm_cameras
 
std::stack< CPointm_origins
 
std::stack< CRectm_clipRegions
 
std::stack< float > m_stereoFactors
 
std::stack< CRectm_viewStack
 
CRect m_scissors
 
UITransform m_guiTransform
 
UITransform m_finalTransform
 
std::stack< UITransformm_transforms
 
RENDER_STEREO_VIEW m_stereoView = RENDER_STEREO_VIEW_OFF
 
RENDER_STEREO_MODE m_stereoMode = RENDER_STEREO_MODE_OFF
 
RENDER_STEREO_MODE m_nextStereoMode = RENDER_STEREO_MODE_OFF
 

Member Function Documentation

◆ SetClipRegion()

bool CGraphicContext::SetClipRegion ( float  x,
float  y,
float  w,
float  h 
)

Set a region in which to clip all rendering Anything that is rendered after setting a clip region will be clipped so that no part renders outside of the clip region. Successive calls to SetClipRegion intersect the clip region, which means the clip region may eventually become an empty set. In this case SetClipRegion returns false to indicate that no rendering need be performed.

This call must be matched with a RestoreClipRegion call unless SetClipRegion returns false.

Usage should be of the form:

if (SetClipRegion(x, y, w, h)) { ... perform rendering ... RestoreClipRegion(); }

Parameters
xthe left-most coordinate of the clip region
ythe top-most coordinate of the clip region
wthe width of the clip region
hthe height of the clip region
Returns
true if the region is set and the result is non-empty. Returns false if the resulting region is empty.
See also
RestoreClipRegion

The documentation for this class was generated from the following files: