Ream v0.1.0-1
C++ graphics library for Linux
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
RMatrixUtils Class Reference

Helpers for building the coordinate-space transformation matrices used during rendering. More...

#include <RMatrixUtils.h>

Static Public Member Functions

static SkMatrix DstTransform (CZTransform transform, SkSize dstSize) noexcept
 Returns a matrix that applies the transform to RSurface::dst(), producing framebuffer pixel-space coordinates.
 
static SkMatrix VirtualToNDC (CZTransform transform, SkRect viewport, SkRect dst, SkISize imageSize, bool flipY) noexcept
 Virtual -> RImage -> NDC coords.
 
static SkMatrix VirtualToImage (CZTransform transform, SkRect viewport, SkRect dst) noexcept
 Virtual -> RImage coords.
 
static SkMatrix VirtualToUV (SkRect dst, CZTransform srcTransform, SkScalar srcScale, SkRect srcRect, SkISize texSize) noexcept
 Virtual -> RImage -> UV coords.
 
static SkRect SkImageSrcRect (const RDrawImageInfo &image) noexcept
 RDrawImageInfo src rect -> SkCanvas->drawImageRect src rect.
 
static SkMatrix SkImageDstTransform (const RDrawImageInfo &image) noexcept
 Flips/rotates SkImage dst, the inverse should be applied to SkCanvas->drawImageRect dstRect.
 

Detailed Description

Helpers for building the coordinate-space transformation matrices used during rendering.

Provides static factories that produce SkMatrix / SkRect values mapping between the various coordinate spaces involved in drawing (virtual/viewport, image, NDC, UV and framebuffer pixel spaces).

Member Function Documentation

◆ DstTransform()

static SkMatrix DstTransform ( CZTransform  transform,
SkSize  dstSize 
)
staticnoexcept

Returns a matrix that applies the transform to RSurface::dst(), producing framebuffer pixel-space coordinates.

◆ VirtualToNDC()

static SkMatrix VirtualToNDC ( CZTransform  transform,
SkRect  viewport,
SkRect  dst,
SkISize  imageSize,
bool  flipY 
)
staticnoexcept

Virtual -> RImage -> NDC coords.

◆ VirtualToImage()

static SkMatrix VirtualToImage ( CZTransform  transform,
SkRect  viewport,
SkRect  dst 
)
staticnoexcept

Virtual -> RImage coords.

◆ VirtualToUV()

static SkMatrix VirtualToUV ( SkRect  dst,
CZTransform  srcTransform,
SkScalar  srcScale,
SkRect  srcRect,
SkISize  texSize 
)
staticnoexcept

Virtual -> RImage -> UV coords.

◆ SkImageSrcRect()

static SkRect SkImageSrcRect ( const RDrawImageInfo image)
staticnoexcept

RDrawImageInfo src rect -> SkCanvas->drawImageRect src rect.

◆ SkImageDstTransform()

static SkMatrix SkImageDstTransform ( const RDrawImageInfo image)
staticnoexcept

Flips/rotates SkImage dst, the inverse should be applied to SkCanvas->drawImageRect dstRect.