doodle  0.2
Intended to support teaching C++, doodle is a simple library that helps make a window and makes it easy to do some drawing.
Namespaces | Enumerations | Functions | Variables
drawing.hpp File Reference
#include <doodle/color.hpp>
#include <doodle/image.hpp>
#include <string>

Go to the source code of this file.

Namespaces

 doodle
 

Enumerations

enum class  doodle::EllipseMode { doodle::Center , doodle::Corner }
 With set_ellipse_mode(), modifies the location from which ellipses are drawn by changing the way in which parameters given to draw_ellipse() are interpreted. More...
 
enum class  doodle::RectMode { doodle::Corner , doodle::Center }
 With set_rectangle_mode(), modifies the location from which rectangles are drawn by changing the way in which parameters given to draw_rectangle() are interpreted. More...
 
enum class  doodle::FrameOfReference { doodle::RightHanded_OriginCenter , doodle::RightHanded_OriginBottomLeft , doodle::LeftHanded_OriginTopLeft }
 Used to define the coordinate system you would like to reference. More...
 

Functions

void doodle::clear_background () noexcept
 Clear the background to black. More...
 
void doodle::clear_background (HexColor color) noexcept
 Clear the background to the specified HexColor. More...
 
void doodle::clear_background (Color color) noexcept
 Clear the background to the specified Color. More...
 
void doodle::clear_background (double grey, double alpha=255) noexcept
 Clear the background to a grey color. More...
 
void doodle::clear_background (double red, double green, double blue, double alpha=255) noexcept
 Clear the background to a specified RGBA color. More...
 
void doodle::set_fill_color (HexColor color) noexcept
 Sets the color used to fill shapes to the specified HexColor. More...
 
void doodle::set_fill_color (Color color) noexcept
 Sets the color used to fill shapes to the specified Color. More...
 
void doodle::set_fill_color (double grey, double alpha=255) noexcept
 Sets the color used to fill shapes to a grey. More...
 
void doodle::set_fill_color (double red, double green, double blue, double alpha=255) noexcept
 Sets the color used to fill shapes to the specified RGBA values. More...
 
void doodle::no_fill () noexcept
 Disables filling geometry. More...
 
void doodle::set_outline_color (HexColor color) noexcept
 Set the outline and lines of shapes to the specified HexColor. More...
 
void doodle::set_outline_color (Color color) noexcept
 Set the outline and lines of shapes to the specified Color. More...
 
void doodle::set_outline_color (double grey, double alpha=255) noexcept
 Set the outline and lines of shapes to a grey color. More...
 
void doodle::set_outline_color (double red, double green, double blue, double alpha=255) noexcept
 Set the outline and lines of shapes to an RGBA color. More...
 
void doodle::no_outline ()
 Disables drawing the outline. More...
 
void doodle::draw_ellipse (double x, double y, double width, double height=0) noexcept
 Draws an ellipse (oval) to the screen. More...
 
void doodle::draw_line (double x1, double y1, double x2, double y2) noexcept
 Draws a line (a direct path between two points) to the screen. More...
 
void doodle::draw_quad (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) noexcept
 Draw a quad. More...
 
void doodle::draw_rectangle (double x, double y, double width, double height=0) noexcept
 Draws a rectangle to the screen. More...
 
void doodle::draw_triangle (double x1, double y1, double x2, double y2, double x3, double y3) noexcept
 Draw a triangle to the screen. More...
 
void doodle::set_ellipse_mode (EllipseMode mode) noexcept
 Modifies the location from which ellipses are drawn by changing the way in which parameters given to draw_ellipse() are interpreted. More...
 
void doodle::set_rectangle_mode (RectMode mode) noexcept
 Modifies the location from which rectangles are drawn by changing the way in which parameters given to draw_rectangle() are interpreted. More...
 
void doodle::set_frame_of_reference (FrameOfReference frame_of_reference) noexcept
 Change the coordinate system you would like to use when describing your primitives. More...
 
void doodle::smooth_drawing () noexcept
 Draws all geometry with smooth (anti-aliased) edges. More...
 
void doodle::no_smoothing () noexcept
 Draws all geometry with jagged (aliased) edges. More...
 
void doodle::set_outline_width (double line_width) noexcept
 Sets the width of the outline used for lines and the border around shapes. All widths are set in units of pixels. More...
 
void doodle::push_settings () noexcept
 The push_settings() function saves the current drawing style settings and transformations, while pop_settings() restores these settings. More...
 
void doodle::pop_settings () noexcept
 The pop_settings() function restores to the previous style settings and transformations, while push_settings() saves a new set these settings. More...
 
void doodle::draw_text (const std::wstring &str, double x, double y) noexcept
 Draws wide character based text to the screen. More...
 
void doodle::draw_text (const std::string &str, double x, double y) noexcept
 Draws text to the screen. More...
 
int doodle::create_distance_field_bitmap_font (const std::filesystem::path &fnt_filepath) noexcept
 Given a file path to a *.fnt file it will create a distance field bitmap font. More...
 
void doodle::set_font (int font_id) noexcept
 Changes the font type to be used when drawing text. More...
 
void doodle::set_font_size (double font_size) noexcept
 Sets the current font size. This size will be used in all subsequent calls to the draw_text() function. More...
 
void doodle::set_font_fade_out_interval (double inside_distance, double outside_distance) noexcept
 Defines the distance interval to draw font characters and how to fade them out from opaque to translucent. More...
 
void doodle::set_font_backdrop_fade_out_interval (double inside_distance, double outside_distance) noexcept
 Defines the distance interval to draw the backdrop of font characters and how to fade them out from opaque to translucent. More...
 
void doodle::set_font_backdrop_offset (double texel_x, double texel_y) noexcept
 Repositions the backdrop of the font characters. Useful for creating a custom drop shadow effect. More...
 
Image doodle::capture_screenshot_to_image ()
 Captures a screenshot of the whole screen. More...
 
Image doodle::capture_screenshot_to_image (int left_x, int bottom_y, int pixels_width, int pixels_height) noexcept
 Captures a screenshot of a subsection of the screen. More...
 
void doodle::draw_image (const Image &image, double x, double y) noexcept
 Draw an entire image to the screen. More...
 
void doodle::draw_image (const Image &image, double x, double y, double width, double height) noexcept
 Draw an entire image to the screen and resize it to a custom size. More...
 
void doodle::draw_image (const Image &image, double x, double y, double width, double height, int texel_x, int texel_y) noexcept
 Draw a subsection of the image to the screen. More...
 
void doodle::draw_image (const Image &image, double x, double y, double width, double height, int texel_x, int texel_y, int texel_width, int texel_height) noexcept
 Draw a subsection of the image to the screen. More...
 
void doodle::set_tint_color (HexColor color) noexcept
 Sets the fill value for displaying images to the specified HexColor. More...
 
void doodle::set_tint_color (Color color) noexcept
 Sets the fill value for displaying textures to the specified Color. More...
 
void doodle::set_tint_color (double grey, double alpha=255) noexcept
 Sets the fill value for displaying textures to the specified grey color. More...
 
void doodle::set_tint_color (double red, double green, double blue, double alpha=255) noexcept
 Sets the fill value for displaying textures to the specified RGBA color. More...
 
void doodle::no_tint () noexcept
 Removes the current fill value for displaying images and reverts to displaying textures with their original colors. More...
 
void doodle::set_image_mode (RectMode mode) noexcept
 Modifies the location from which textures are drawn by changing the way in which parameters given to draw_image() are interpreted. More...
 
void doodle::apply_scale (double scale) noexcept
 Uniformly increases or decreases the size of a shape by expanding and contracting vertices. More...
 
void doodle::apply_scale (double scale_x, double scale_y) noexcept
 Increases or decreases the size of a shape by expanding and contracting vertices. More...
 
void doodle::apply_rotate (double angle_in_radians) noexcept
 Rotates a shape the amount specified by the angle in radians. More...
 
void doodle::apply_translate (double translate_x, double translate_y) noexcept
 Specifies an amount to displace objects within the display window. More...
 
void doodle::apply_matrix (double a, double b, double c, double d, double e, double f) noexcept
 Multiplies the current matrix by the one specified through the parameters. More...
 
void doodle::begin_drawing_to_image (int image_width, int image_height, bool apply_antialiasing=true)
 Redirect all draw command to draw to an image. More...
 
Image doodle::end_drawing_to_image (bool smooth_texture=false)
 End a session of drawing to an image. More...
 

Variables

constexpr int doodle::DEFAULT_FONT_ID = 0
 Holds the ID value for the provided font that comes with doodle. More...