Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CGraphicsCairo.cpp File Reference
#include "CGraphicsCairo.hpp"
#include "CFontManagerCairo.hpp"
#include "core/color.hpp"
#include "core/file.hpp"
#include "core/paths.hpp"
#include "core/utils.hpp"
#include "math/CGeometry.hpp"
#include "math/CPolylines.hpp"
#include "math/CStackTransformation.hpp"
#include "math/utils.hpp"
#include "resources/ImageResource.hpp"
#include "ui/graphics/CDrawPrimitive.hpp"
#include "utils/stringUtils.hpp"
#include <cmath>
#include <gobject/gobject.h>
#include <pango/pangocairo.h>
Include dependency graph for CGraphicsCairo.cpp:

Enumerations

enum class  EOperationDraw { Stroke , Fill }
 

Functions

static void prvGetSizeText (const CFontManagerCairo *managerFont, const std::string &text, const double heightCharacter, CStackTransformation *transformation, double *widthTextOpt, double *heightTextOpt)
 
static void prvGetCoordTextCornerLeftDownCairo (const CFontManagerCairo *managerFont, const std::string &text, const double xCairo, const double yCairo, const double heightCharacterCairo, const unsigned char justify, double *xCornerLeftDownCairo, double *yCornerLeftDownCairo, double *widthTextCairo, double *heightTextCairo)
 
static void prvGetCoordTextCornerLeftDown (const CFontManagerCairo *managerFont, CStackTransformation *transformation, const std::string &text, const double x, const double y, const double heightCharacter, const unsigned char justify, double *xCornerLeftDownCairo, double *yCornerLeftDownCairo, double *widthTextCairo, double *heightTextCairo)
 
static void prvDrawText (const std::string &text, const double x, const double y, const bool isHeightCairo, const double height, const unsigned char justify, cairo_t *cairo, const CFontManagerCairo *managerFont, CStackTransformation *transformation)
 
static void prvFlushDraw (const bool isStencilBufferActive, const EOperationDraw operation, cairo_t *cairo)
 
static void prvDrawRect (const CStackTransformation *transformation, const bool isStencilBufferActive, const double x1, const double y1, const double x2, const double y2, const EOperationDraw operation, cairo_t *cairo)
 
static void prvDrawPolyline (const CStackTransformation *transformation, const bool isStencilBufferActive, const float *vertex, const uint64_t numVertex, const EOperationDraw operation, cairo_t *cairo)
 
static void prvSetDashLine (const IGraphics::EDashedLineType typeLine, cairo_t *cairo)
 
static void prvSetColorRGB (const iv::types::color rgb, const double alpha, cairo_t *cairo)
 
static cairo_surface_t * prvImageWithOperation (const CGraphicsCairo::SCairoImageLoaded *image, const iv::types::color colorRGB)
 
static bool prvIsImageLoadedCairo (const CGraphicsCairo::SCairoImageLoaded *resource, const std::string &nameResource)
 
static cairo_surface_t * prvGetImage (const std::string &nameResourceImage)
 
static void prvDrawImage (const double x, const double y, const std::optional< iv::types::imageWidth > &width, const std::optional< iv::types::imageHeight > &height, const bool withColorRGB, const iv::types::color colorRGB, double alpha, const iv::ui::resources::ImageResource &resource, const CStackTransformation *transformation, std::unordered_map< std::string, CGraphicsCairo::SCairoImageLoaded > *imageLoaded, cairo_t *cairoOpt)
 
static void prvDrawTriangle (const double x1, const double y1, const double x2, const double y2, const double x3, const double y3, const EOperationDraw &operation, cairo_t *cairo)
 
static void prvDrawTriangleFilledCairo (cairo_t *cairo, const double x1, const double y1, double z1, const double x2, const double y2, double z2, const double x3, const double y3, double z3)
 
static void prvDefinePolyline3d (const std::vector< iv::math::geometry::Point3d > &points, const CStackTransformation *transformation, cairo_t *cairo)
 
static void prvChangeRGBByColor (const double rBackground, const double gBackground, const double bBackground, uint32_t *rgb)
 
static void prvDestroySurface (cairo_surface_t **cairoSurface)
 
static void prvDestroyPango (PangoLayout **pangoLayout)
 
static void prvDestroyCairo (cairo_t **cairo)
 

Variables

static uint64_t kPrvNumChannels = 4
 
static constexpr double kPrvPrecision = 1e-5
 

Enumeration Type Documentation

◆ EOperationDraw

enum class EOperationDraw
strong
Enumerator
Stroke 
Fill 

Function Documentation

◆ prvChangeRGBByColor()

static void prvChangeRGBByColor ( const double rBackground,
const double gBackground,
const double bBackground,
uint32_t * rgb )
static

◆ prvDefinePolyline3d()

static void prvDefinePolyline3d ( const std::vector< iv::math::geometry::Point3d > & points,
const CStackTransformation * transformation,
cairo_t * cairo )
static

◆ prvDestroyCairo()

static void prvDestroyCairo ( cairo_t ** cairo)
static

◆ prvDestroyPango()

static void prvDestroyPango ( PangoLayout ** pangoLayout)
static

◆ prvDestroySurface()

static void prvDestroySurface ( cairo_surface_t ** cairoSurface)
static

◆ prvDrawImage()

static void prvDrawImage ( const double x,
const double y,
const std::optional< iv::types::imageWidth > & width,
const std::optional< iv::types::imageHeight > & height,
const bool withColorRGB,
const iv::types::color colorRGB,
double alpha,
const iv::ui::resources::ImageResource & resource,
const CStackTransformation * transformation,
std::unordered_map< std::string, CGraphicsCairo::SCairoImageLoaded > * imageLoaded,
cairo_t * cairoOpt )
static

◆ prvDrawPolyline()

static void prvDrawPolyline ( const CStackTransformation * transformation,
const bool isStencilBufferActive,
const float * vertex,
const uint64_t numVertex,
const EOperationDraw operation,
cairo_t * cairo )
static

◆ prvDrawRect()

static void prvDrawRect ( const CStackTransformation * transformation,
const bool isStencilBufferActive,
const double x1,
const double y1,
const double x2,
const double y2,
const EOperationDraw operation,
cairo_t * cairo )
static

◆ prvDrawText()

static void prvDrawText ( const std::string & text,
const double x,
const double y,
const bool isHeightCairo,
const double height,
const unsigned char justify,
cairo_t * cairo,
const CFontManagerCairo * managerFont,
CStackTransformation * transformation )
static

◆ prvDrawTriangle()

static void prvDrawTriangle ( const double x1,
const double y1,
const double x2,
const double y2,
const double x3,
const double y3,
const EOperationDraw & operation,
cairo_t * cairo )
static

◆ prvDrawTriangleFilledCairo()

static void prvDrawTriangleFilledCairo ( cairo_t * cairo,
const double x1,
const double y1,
double z1,
const double x2,
const double y2,
double z2,
const double x3,
const double y3,
double z3 )
static

◆ prvFlushDraw()

static void prvFlushDraw ( const bool isStencilBufferActive,
const EOperationDraw operation,
cairo_t * cairo )
static

◆ prvGetCoordTextCornerLeftDown()

static void prvGetCoordTextCornerLeftDown ( const CFontManagerCairo * managerFont,
CStackTransformation * transformation,
const std::string & text,
const double x,
const double y,
const double heightCharacter,
const unsigned char justify,
double * xCornerLeftDownCairo,
double * yCornerLeftDownCairo,
double * widthTextCairo,
double * heightTextCairo )
static

◆ prvGetCoordTextCornerLeftDownCairo()

static void prvGetCoordTextCornerLeftDownCairo ( const CFontManagerCairo * managerFont,
const std::string & text,
const double xCairo,
const double yCairo,
const double heightCharacterCairo,
const unsigned char justify,
double * xCornerLeftDownCairo,
double * yCornerLeftDownCairo,
double * widthTextCairo,
double * heightTextCairo )
static

◆ prvGetImage()

static cairo_surface_t * prvGetImage ( const std::string & nameResourceImage)
static

◆ prvGetSizeText()

static void prvGetSizeText ( const CFontManagerCairo * managerFont,
const std::string & text,
const double heightCharacter,
CStackTransformation * transformation,
double * widthTextOpt,
double * heightTextOpt )
static

◆ prvImageWithOperation()

static cairo_surface_t * prvImageWithOperation ( const CGraphicsCairo::SCairoImageLoaded * image,
const iv::types::color colorRGB )
static

◆ prvIsImageLoadedCairo()

static bool prvIsImageLoadedCairo ( const CGraphicsCairo::SCairoImageLoaded * resource,
const std::string & nameResource )
static

◆ prvSetColorRGB()

static void prvSetColorRGB ( const iv::types::color rgb,
const double alpha,
cairo_t * cairo )
static

◆ prvSetDashLine()

static void prvSetDashLine ( const IGraphics::EDashedLineType typeLine,
cairo_t * cairo )
static

Variable Documentation

◆ kPrvNumChannels

uint64_t kPrvNumChannels = 4
static

◆ kPrvPrecision

double kPrvPrecision = 1e-5
staticconstexpr