Nana C++ Library  

An open-source C++ framework project
The Programmer's Guide 
nana::paint::pixel_buffer

Description

The class pixel_buffer provides a method to process the color data.

Model of

None 

Public base classes

None

Members

pixel_buffer() The default construction.
pixel_buffer(drawable_type dw, const nana::rectangle& r) See open(drawable dw, const nana::rectangle& r)
pixel_buffer(drawable_type dw, std::size_t top, std::size_t lines) Copies the color data from drawable(dw) begining at scanline(top)
pixel_buffer(std::size_t width, std::size_t height) See open(std::size_t width, std::size_t height)
~pixel_buffer() The destruction.
void attach(drawable_type dw, const nana::rectangle& r) Attaches to a drawable(dw) with a specified rectangle(r).
bool alpha_channel() const Returns true if the alpha channel is enabled.
void alpha_channel(bool enable) Enables/Disables the alpha channel.
bool open(drawable_type) Copies the color data from drawable.
bool open(drawable_type dw, const nana::rectangle& r) Copies the color data from drawable(dw) with the specifed rectangle(want_r)
bool open(std::size_t width, std::size_t height) Creates an pixel buffer with specified size.
void close() Frees the color data.
bool empty() const It returns true when the pixel_buffer is empty.
operator const void*() const It returns a null pointer when the pixel_buffer is empty.
void blend(const std::string& name) Selects a blend image processor for this object.
void blend(const nana::rectangle& s_r, drawable_type dw, const nana::point& d_pos, double fade_rate) const Blends the drawable(dw) at the point(d_pos) with the color data corresponding to the rectangle(s_r).
void blur(const nana::rectangle& r, std::size_t radius) Blur process.
std::size_t bytes() const Returns the total bytes of color data.
std::size_t bytes_per_line() const Returns the bytes of a line of color data.
nana::size size() const Returns the size in pixels.
pixel_rgb_t * raw_ptr(std::size_t row) const Returns the beginning address of row'th line.
pixel_rgb_t * operator[](std::size_t row) const Returns the beginning adresss of row'th line.
void line(const std::string& name); Selects a line image processor for this object.
void line(const nana::point& posbeg, const nana::point& posend, nana::color_t color, double fade_rate) Draws a line.
void paste(drawable_type, int x, int y) const Copies the color data to a drawable.
void paste(const nana::rectangle& s_r, drawable_type, int x, int y) Copies the color data corresponding to the rectangle(s_r) to the drawable at destination point(x, y)
void paste(nana::gui::native_window_type, int x, int y) Copies the color data to a window.
pixel_rgb_t pixel(int x, int y) const Returns a pixel data
void pixel(int x, int y, pixel_rgb_t) Sets a pixel data
void rectangle(const nana::rectangle& r, nana::color_t, double fade_rate, bool solid) Draws a rectangle.
void shadow_rectangle(const nana::rectangle& r, const nana::color_t beg, nana::color_t end, double fade_rate, bool vertical) Draws a fading rectangle.
void stretch(const std::string& name) Selects a stretch image processor for this object.
void stretch(const nana::rectangle& s_r, drawable_type, const nana::rectangle& d_r) const Paste the color data corresponding to a rectangle(s_r) to the destination drawable, stretching or compressing the image to fit the rectangle(d_r).

Notes

1. The difference between open() and attach(). The open() always copies the color data from a specified drawable, and the attach() just refers to the specified drawable without copy.

See also

None.


Move to The Nana Programmer's Guide Main Page