XenevaOS
Loading...
Searching...
No Matches
Functions | Variables
chitralekha.cpp File Reference
#include "chitralekha.h"
#include <stdio.h>
#include <sys\_kefile.h>
#include <sys\mman.h>
#include <sys\iocodes.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "_fastcpy.h"
#include "color.h"
Include dependency graph for chitralekha.cpp:

Functions

int ChPrintLibName ()
 
ChCanvasChCreateCanvas (int reqW, int reqH)
 ChCreateCanvas – creates a new canvas.
 
int ChAllocateBuffer (ChCanvas *canvas)
 ChAllocateBuffer – allocates buffers for graphics.
 
int ChDeAllocateBuffer (ChCanvas *canvas)
 ChDeAllocateBuffer – de-allocates buffers from canvas.
 
void ChCanvasScreenUpdate (ChCanvas *canvas, int _x, int _y, int _w, int _h)
 ChCanvasScreenUpdate – updates screen buffer with canvas buffer contents.
 
void ChDrawPixel (ChCanvas *canvas, int x, int y, uint32_t color)
 ChDrawPixel – draws a pixel to canvas buffer.
 
void ChDrawPixelRAW (ChCanvas *canvas, int x, int y, uint32_t color)
 ChDrawPixelRAW – draws a pixel to canvas buffer.
 
void ChDrawPixelAA (ChCanvas *canv, int x, int y, uint32_t color, double alpha)
 ChDrawPixelAA – draw anti-aliased pixel.
 
uint32_t ChGetPixel (ChCanvas *canvas, int x, int y)
 ChGetPixel – retuns a pixel from canvas.
 
void ChCanvasFill (ChCanvas *canvas, int w, int h, uint32_t color)
 ChCanvasFill – fill the canvas with specific color.
 
float ChGetScreenDiagonal (ChCanvas *canv)
 ChGetScreenDiagonal – get screen diagonal using pythagorean theorem in centimetre.
 
float ChGetScreenDPI (ChCanvas *canv)
 ChGetScreenDPI – converts screen resolution into dot-per-inch in centimetre.
 
int ChGetScreenAspectRatio (ChCanvas *canv)
 ChGetScreenAspectRatio – returns the aspect ration of the screen.
 

Variables

int _fltused = 1
 

Detailed Description

BSD 2-Clause License

Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Function Documentation

◆ ChAllocateBuffer()

int ChAllocateBuffer ( ChCanvas canvas)

ChAllocateBuffer – allocates buffers for graphics.

Parameters
canvas– Pointer to canvas

◆ ChCanvasFill()

void ChCanvasFill ( ChCanvas canvas,
int  w,
int  h,
uint32_t  color 
)

ChCanvasFill – fill the canvas with specific color.

Parameters
canvas– pointer to canvas structure
w– width to fill
h– height to fill
color– color to be filled with

◆ ChCanvasScreenUpdate()

void ChCanvasScreenUpdate ( ChCanvas canvas,
int  _x,
int  _y,
int  _w,
int  _h 
)

ChCanvasScreenUpdate – updates screen buffer with canvas buffer contents.

Parameters
canvas– Pointer to canvas
x– x position
y– y position
w– width of the canvas
h– height of the canvas

◆ ChCreateCanvas()

ChCanvas * ChCreateCanvas ( int  reqW,
int  reqH 
)

ChCreateCanvas – creates a new canvas.

Parameters
reqW– requested width of the canvas
reqH– requested height of the canvas

◆ ChDeAllocateBuffer()

int ChDeAllocateBuffer ( ChCanvas canvas)

ChDeAllocateBuffer – de-allocates buffers from canvas.

Parameters
canvas– pointer to canvas structure

◆ ChDrawPixel()

void ChDrawPixel ( ChCanvas canvas,
int  x,
int  y,
uint32_t  color 
)

ChDrawPixel – draws a pixel to canvas buffer.

Parameters
canvas– pointer to canvas
x– x position
y– y position
color– color of the pixel

◆ ChDrawPixelAA()

void ChDrawPixelAA ( ChCanvas canv,
int  x,
int  y,
uint32_t  color,
double  alpha 
)

ChDrawPixelAA – draw anti-aliased pixel.

Parameters
canv- Pointer to canvas
x– X location relative to window
y– Y location relative to window
color– Color of the pixel
alpha– Alpha value

◆ ChDrawPixelRAW()

void ChDrawPixelRAW ( ChCanvas canvas,
int  x,
int  y,
uint32_t  color 
)

ChDrawPixelRAW – draws a pixel to canvas buffer.

Parameters
canvas– pointer to canvas
x– x position
y– y position
color– color of the pixel

◆ ChGetPixel()

uint32_t ChGetPixel ( ChCanvas canvas,
int  x,
int  y 
)

ChGetPixel – retuns a pixel from canvas.

Parameters
canvas– Pointer to canvas structure
x– x position
y– y position

◆ ChGetScreenAspectRatio()

int ChGetScreenAspectRatio ( ChCanvas canv)

ChGetScreenAspectRatio – returns the aspect ration of the screen.

Parameters
canv– Pointer to canvas

◆ ChGetScreenDiagonal()

float ChGetScreenDiagonal ( ChCanvas canv)

ChGetScreenDiagonal – get screen diagonal using pythagorean theorem in centimetre.

Parameters
canv– Pointer to canvas

◆ ChGetScreenDPI()

float ChGetScreenDPI ( ChCanvas canv)

ChGetScreenDPI – converts screen resolution into dot-per-inch in centimetre.

Parameters
canv– Pointer to canvas

◆ ChPrintLibName()

int ChPrintLibName ( )

Variable Documentation

◆ _fltused

int _fltused = 1

BSD 2-Clause License

Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.