#include <bcbitmap.h>

Public Member Functions | |
| BC_Bitmap (BC_WindowBase *parent_window, unsigned char *png_data) | |
| BC_Bitmap (BC_WindowBase *parent_window, VFrame *frame) | |
| BC_Bitmap (BC_WindowBase *parent_window, int w, int h, int color_model, int use_shm=1) | |
| virtual | ~BC_Bitmap () |
| int | read_frame (VFrame *frame, int in_x, int in_y, int in_w, int in_h, int out_x, int out_y, int out_w, int out_h) |
| int | read_frame (VFrame *frame, int x1, int y1, int x2, int y2) |
| int | match_params (int w, int h, int color_model, int use_shm) |
| int | params_match (int w, int h, int color_model, int use_shm) |
| void | rewind_ring () |
| int | write_drawable (Drawable &pixmap, GC &gc, int source_x, int source_y, int source_w, int source_h, int dest_x, int dest_y, int dest_w, int dest_h, int dont_wait) |
| int | write_drawable (Drawable &pixmap, GC &gc, int dest_x, int dest_y, int source_x, int source_y, int dest_w, int dest_h, int dont_wait) |
| int | read_drawable (Drawable &pixmap, int source_x, int source_y) |
| int | rotate_90 (int side) |
| int | get_w () |
| int | get_h () |
| void | transparency_bitswap () |
| unsigned char * | get_data () |
| unsigned char * | get_y_plane () |
| unsigned char * | get_u_plane () |
| unsigned char * | get_v_plane () |
| int | get_color_model () |
| int | hardware_scaling () |
| unsigned char ** | get_row_pointers () |
| int | get_bytes_per_line () |
| long | get_shm_id () |
| long | get_shm_size () |
| long | get_shm_offset () |
| long | get_y_shm_offset () |
| long | get_u_shm_offset () |
| long | get_v_shm_offset () |
| long | get_y_offset () |
| long | get_u_offset () |
| long | get_v_offset () |
| void | rewind_ringbuffer () |
| int | set_bg_color (int color) |
| int | invert () |
Private Member Functions | |
| int | initialize (BC_WindowBase *parent_window, int w, int h, int color_model, int use_shm) |
| int | allocate_data () |
| int | delete_data () |
| int | get_default_depth () |
| char | byte_bitswap (char src) |
Private Attributes | |
| int | ring_buffers |
| int | current_ringbuffer |
| int | w |
| int | h |
| int | color_model |
| int | bg_color |
| int | use_shm |
| BC_WindowBase * | top_level |
| BC_WindowBase * | parent_window |
| unsigned char * | data [BITMAP_RING] |
| unsigned char ** | row_data [BITMAP_RING] |
| int | xv_portid |
| int | bits_per_pixel |
| long | bytes_per_line |
| int | last_pixmap_used |
| unsigned char | bg_r |
| unsigned char | bg_g |
| unsigned char | bg_b |
| int | bit_counter |
| Drawable | last_pixmap |
| XImage * | ximage [BITMAP_RING] |
| XvImage * | xv_image [BITMAP_RING] |
| XShmSegmentInfo | shm_info |
Definition at line 18 of file bcbitmap.h.
| BC_Bitmap::BC_Bitmap | ( | BC_WindowBase * | parent_window, | |
| unsigned char * | png_data | |||
| ) |
Definition at line 14 of file bcbitmap.C.
References BC_WindowBase::get_color_model(), VFrame::get_h(), VFrame::get_w(), h, initialize(), read_frame(), VFrame::read_png(), and w.

| BC_Bitmap::BC_Bitmap | ( | BC_WindowBase * | parent_window, | |
| VFrame * | frame | |||
| ) |
Definition at line 32 of file bcbitmap.C.
References BC_WindowBase::get_color_model(), VFrame::get_h(), VFrame::get_w(), h, initialize(), read_frame(), and w.

| BC_Bitmap::BC_Bitmap | ( | BC_WindowBase * | parent_window, | |
| int | w, | |||
| int | h, | |||
| int | color_model, | |||
| int | use_shm = 1 | |||
| ) |
Definition at line 45 of file bcbitmap.C.
References BC_WindowBase::get_resources(), initialize(), and BC_Resources::use_shm.

| BC_Bitmap::~BC_Bitmap | ( | ) | [virtual] |
Definition at line 58 of file bcbitmap.C.
References delete_data().

| int BC_Bitmap::read_frame | ( | VFrame * | frame, | |
| int | in_x, | |||
| int | in_y, | |||
| int | in_w, | |||
| int | in_h, | |||
| int | out_x, | |||
| int | out_y, | |||
| int | out_w, | |||
| int | out_h | |||
| ) |
Definition at line 536 of file bcbitmap.C.
References BC_TRANSPARENCY, BC_YUV420P, BC_YUV422, BC_YUV422P, bg_color, cmodel_transfer(), color_model, current_ringbuffer, VFrame::get_color_model(), VFrame::get_data(), get_data(), VFrame::get_rows(), VFrame::get_u(), get_u_plane(), VFrame::get_v(), get_v_plane(), VFrame::get_w(), VFrame::get_y(), get_y_plane(), h, memcpy, row_data, BC_WindowBase::server_byte_order, top_level, transparency_bitswap(), and w.
Referenced by BC_Bitmap(), BC_Pixmap::BC_Pixmap(), BC_WindowBase::draw_3segmenth(), BC_WindowBase::draw_3segmentv(), BC_WindowBase::draw_9segment(), BC_WindowBase::draw_vframe(), and read_frame().

| int BC_Bitmap::read_frame | ( | VFrame * | frame, | |
| int | x1, | |||
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) |
Definition at line 524 of file bcbitmap.C.
References VFrame::get_h(), VFrame::get_w(), and read_frame().

| int BC_Bitmap::match_params | ( | int | w, | |
| int | h, | |||
| int | color_model, | |||
| int | use_shm | |||
| ) |
Definition at line 97 of file bcbitmap.C.
References delete_data(), initialize(), and parent_window.
Referenced by BC_WindowBase::draw_3segmenth(), BC_WindowBase::draw_3segmentv(), BC_WindowBase::draw_9segment(), and BC_WindowBase::draw_vframe().

| int BC_Bitmap::params_match | ( | int | w, | |
| int | h, | |||
| int | color_model, | |||
| int | use_shm | |||
| ) |
| void BC_Bitmap::rewind_ring | ( | ) |
| int BC_Bitmap::write_drawable | ( | Drawable & | pixmap, | |
| GC & | gc, | |||
| int | source_x, | |||
| int | source_y, | |||
| int | source_w, | |||
| int | source_h, | |||
| int | dest_x, | |||
| int | dest_y, | |||
| int | dest_w, | |||
| int | dest_h, | |||
| int | dont_wait | |||
| ) |
Definition at line 410 of file bcbitmap.C.
References current_ringbuffer, BC_WindowBase::display, hardware_scaling(), last_pixmap, last_pixmap_used, ring_buffers, top_level, use_shm, ximage, xv_image, and xv_portid.
Referenced by BC_Pixmap::BC_Pixmap(), BC_WindowBase::draw_bitmap(), and write_drawable().

| int BC_Bitmap::write_drawable | ( | Drawable & | pixmap, | |
| GC & | gc, | |||
| int | dest_x, | |||
| int | dest_y, | |||
| int | source_x, | |||
| int | source_y, | |||
| int | dest_w, | |||
| int | dest_h, | |||
| int | dont_wait | |||
| ) |
Definition at line 381 of file bcbitmap.C.
References get_h(), get_w(), and write_drawable().

| int BC_Bitmap::read_drawable | ( | Drawable & | pixmap, | |
| int | source_x, | |||
| int | source_y | |||
| ) |
Definition at line 513 of file bcbitmap.C.
References current_ringbuffer, BC_WindowBase::display, h, top_level, use_shm, w, and ximage.
| int BC_Bitmap::rotate_90 | ( | int | side | ) |
| int BC_Bitmap::get_w | ( | ) |
Definition at line 753 of file bcbitmap.C.
References w.
Referenced by RecordMonitorGUI::create_bitmap(), BC_WindowBase::draw_bitmap(), VDeviceX11::new_output_buffer(), VideoScopeUnit::render_data(), VDeviceX11::write_buffer(), and write_drawable().
| int BC_Bitmap::get_h | ( | ) |
Definition at line 755 of file bcbitmap.C.
References h.
Referenced by RecordMonitorGUI::create_bitmap(), BC_WindowBase::draw_bitmap(), VDeviceX11::new_output_buffer(), VideoScopeUnit::render_data(), VideoScopeEffect::render_gui(), VDeviceX11::write_buffer(), and write_drawable().
| void BC_Bitmap::transparency_bitswap | ( | ) |
Definition at line 781 of file bcbitmap.C.
References buf, byte_bitswap(), current_ringbuffer, h, height, row_data, w, and width.
Referenced by read_frame().

| unsigned char * BC_Bitmap::get_data | ( | ) |
Definition at line 707 of file bcbitmap.C.
References current_ringbuffer, and data.
Referenced by VDeviceX11::new_output_buffer(), read_frame(), and VideoScopeEffect::render_gui().
| unsigned char * BC_Bitmap::get_y_plane | ( | ) |
Definition at line 713 of file bcbitmap.C.
References BC_YUV420P, BC_YUV422P, color_model, current_ringbuffer, data, and xv_image.
Referenced by read_frame().
| unsigned char * BC_Bitmap::get_u_plane | ( | ) |
Definition at line 731 of file bcbitmap.C.
References BC_YUV420P, BC_YUV422P, color_model, current_ringbuffer, data, and xv_image.
Referenced by read_frame().
| unsigned char * BC_Bitmap::get_v_plane | ( | ) |
Definition at line 722 of file bcbitmap.C.
References BC_YUV420P, BC_YUV422P, color_model, current_ringbuffer, data, and xv_image.
Referenced by read_frame().
| int BC_Bitmap::get_color_model | ( | ) |
Definition at line 809 of file bcbitmap.C.
References color_model.
Referenced by BC_WindowBase::draw_bitmap(), hardware_scaling(), VideoScopeUnit::render_data(), and VDeviceX11::write_buffer().
| int BC_Bitmap::hardware_scaling | ( | ) |
Definition at line 746 of file bcbitmap.C.
References BC_YUV420P, BC_YUV422, BC_YUV422P, and get_color_model().
Referenced by VDeviceX11::new_output_buffer(), VDeviceX11::write_buffer(), and write_drawable().

| unsigned char ** BC_Bitmap::get_row_pointers | ( | ) |
Definition at line 698 of file bcbitmap.C.
References current_ringbuffer, and row_data.
Referenced by VideoScopeUnit::render_data(), and VDeviceX11::write_buffer().
| int BC_Bitmap::get_bytes_per_line | ( | ) |
Definition at line 703 of file bcbitmap.C.
References bytes_per_line.
Referenced by VideoScopeEffect::render_gui().
| long BC_Bitmap::get_shm_id | ( | ) |
| long BC_Bitmap::get_shm_size | ( | ) |
| long BC_Bitmap::get_shm_offset | ( | ) |
Definition at line 638 of file bcbitmap.C.
References current_ringbuffer, h, ximage, and xv_image.
Referenced by get_u_shm_offset(), get_v_shm_offset(), get_y_shm_offset(), and VDeviceX11::new_output_buffer().
| long BC_Bitmap::get_y_shm_offset | ( | ) |
Definition at line 649 of file bcbitmap.C.
References current_ringbuffer, get_shm_offset(), and xv_image.

| long BC_Bitmap::get_u_shm_offset | ( | ) |
Definition at line 657 of file bcbitmap.C.
References current_ringbuffer, get_shm_offset(), and xv_image.

| long BC_Bitmap::get_v_shm_offset | ( | ) |
Definition at line 665 of file bcbitmap.C.
References current_ringbuffer, get_shm_offset(), and xv_image.

| long BC_Bitmap::get_y_offset | ( | ) |
Definition at line 673 of file bcbitmap.C.
References current_ringbuffer, and xv_image.
Referenced by VDeviceX11::new_output_buffer().
| long BC_Bitmap::get_u_offset | ( | ) |
Definition at line 681 of file bcbitmap.C.
References current_ringbuffer, and xv_image.
Referenced by VDeviceX11::new_output_buffer().
| long BC_Bitmap::get_v_offset | ( | ) |
Definition at line 689 of file bcbitmap.C.
References current_ringbuffer, and xv_image.
Referenced by VDeviceX11::new_output_buffer().
| void BC_Bitmap::rewind_ringbuffer | ( | ) |
| int BC_Bitmap::set_bg_color | ( | int | color | ) |
Definition at line 364 of file bcbitmap.C.
References bg_color.
Referenced by BC_Pixmap::BC_Pixmap().
| int BC_Bitmap::invert | ( | ) |
Definition at line 370 of file bcbitmap.C.
References bytes_per_line, h, ring_buffers, and row_data.
| int BC_Bitmap::initialize | ( | BC_WindowBase * | parent_window, | |
| int | w, | |||
| int | h, | |||
| int | color_model, | |||
| int | use_shm | |||
| ) | [private] |
Definition at line 63 of file bcbitmap.C.
References allocate_data(), BC_WindowBase::bg_color, bg_color, cmodel_calculate_pixelsize(), current_ringbuffer, data, BC_WindowBase::get_resources(), last_pixmap, last_pixmap_used, ring_buffers, BC_WindowBase::top_level, top_level, BC_Resources::use_shm, ximage, and xv_image.
Referenced by BC_Bitmap(), and match_params().

| int BC_Bitmap::allocate_data | ( | ) | [private] |
Definition at line 126 of file bcbitmap.C.
References BC_YUV420P, BC_YUV422, BC_YUV422P, BITMAP_RING, bits_per_pixel, bytes_per_line, cmodel_bc_to_x(), color_model, data, BC_WindowBase::display, get_default_depth(), h, NULL, ring_buffers, row_data, shm_info, top_level, use_shm, BC_WindowBase::vis, w, ximage, xv_image, xv_portid, and BC_WindowBase::xvideo_port_id.
Referenced by initialize().

| int BC_Bitmap::delete_data | ( | ) | [private] |
Definition at line 305 of file bcbitmap.C.
References BC_YUV420P, BC_YUV422, BC_YUV422P, color_model, data, BC_WindowBase::display, last_pixmap, last_pixmap_used, ring_buffers, row_data, shm_info, top_level, use_shm, ximage, xv_image, and xv_portid.
Referenced by match_params(), and ~BC_Bitmap().
| int BC_Bitmap::get_default_depth | ( | ) | [private] |
Definition at line 355 of file bcbitmap.C.
References BC_TRANSPARENCY, color_model, BC_WindowBase::default_depth, and top_level.
Referenced by allocate_data().
| char BC_Bitmap::byte_bitswap | ( | char | src | ) | [private] |
int BC_Bitmap::ring_buffers [private] |
Definition at line 114 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), get_shm_size(), initialize(), invert(), rewind_ring(), rewind_ringbuffer(), and write_drawable().
int BC_Bitmap::current_ringbuffer [private] |
Definition at line 114 of file bcbitmap.h.
Referenced by get_data(), get_row_pointers(), get_shm_offset(), get_u_offset(), get_u_plane(), get_u_shm_offset(), get_v_offset(), get_v_plane(), get_v_shm_offset(), get_y_offset(), get_y_plane(), get_y_shm_offset(), initialize(), read_drawable(), read_frame(), rewind_ring(), rewind_ringbuffer(), transparency_bitswap(), and write_drawable().
int BC_Bitmap::w [private] |
Definition at line 115 of file bcbitmap.h.
Referenced by allocate_data(), BC_Bitmap(), get_w(), read_drawable(), read_frame(), and transparency_bitswap().
int BC_Bitmap::h [private] |
Definition at line 115 of file bcbitmap.h.
Referenced by allocate_data(), BC_Bitmap(), get_h(), get_shm_offset(), get_shm_size(), invert(), read_drawable(), read_frame(), and transparency_bitswap().
int BC_Bitmap::color_model [private] |
Definition at line 117 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), get_color_model(), get_default_depth(), get_u_plane(), get_v_plane(), get_y_plane(), and read_frame().
int BC_Bitmap::bg_color [private] |
Definition at line 119 of file bcbitmap.h.
Referenced by initialize(), read_frame(), and set_bg_color().
int BC_Bitmap::use_shm [private] |
Definition at line 121 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), read_drawable(), and write_drawable().
BC_WindowBase* BC_Bitmap::top_level [private] |
Definition at line 122 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), get_default_depth(), initialize(), read_drawable(), read_frame(), and write_drawable().
BC_WindowBase* BC_Bitmap::parent_window [private] |
unsigned char* BC_Bitmap::data[BITMAP_RING] [private] |
Definition at line 125 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), get_data(), get_u_plane(), get_v_plane(), get_y_plane(), and initialize().
unsigned char** BC_Bitmap::row_data[BITMAP_RING] [private] |
Definition at line 127 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), get_row_pointers(), invert(), read_frame(), and transparency_bitswap().
int BC_Bitmap::xv_portid [private] |
Definition at line 128 of file bcbitmap.h.
Referenced by allocate_data(), delete_data(), and write_drawable().
int BC_Bitmap::bits_per_pixel [private] |
long BC_Bitmap::bytes_per_line [private] |
Definition at line 132 of file bcbitmap.h.
Referenced by allocate_data(), get_bytes_per_line(), and invert().
int BC_Bitmap::last_pixmap_used [private] |
Definition at line 134 of file bcbitmap.h.
Referenced by delete_data(), initialize(), and write_drawable().
unsigned char BC_Bitmap::bg_r [private] |
Definition at line 136 of file bcbitmap.h.
unsigned char BC_Bitmap::bg_g [private] |