diff options
author | maxim-yurchuk <maxim-yurchuk@yandex-team.com> | 2025-02-11 13:26:52 +0300 |
---|---|---|
committer | maxim-yurchuk <maxim-yurchuk@yandex-team.com> | 2025-02-11 13:57:59 +0300 |
commit | f895bba65827952ed934b2b46f9a45e30a191fd2 (patch) | |
tree | 03260c906d9ec41cdc03e2a496b15d407459cec0 /contrib/python/matplotlib/py3/extern/agg24-svn/include/platform | |
parent | 5f7060466f7b9707818c2091e1a25c14f33c3474 (diff) | |
download | ydb-f895bba65827952ed934b2b46f9a45e30a191fd2.tar.gz |
Remove deps on pandas
<https://github.com/ydb-platform/ydb/pull/14418>
<https://github.com/ydb-platform/ydb/pull/14419>
\-- аналогичные правки в gh
Хочу залить в обход синка, чтобы посмотреть удалится ли pandas в нашей gh репе через piglet
commit_hash:abca127aa37d4dbb94b07e1e18cdb8eb5b711860
Diffstat (limited to 'contrib/python/matplotlib/py3/extern/agg24-svn/include/platform')
3 files changed, 0 insertions, 890 deletions
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/agg_platform_support.h b/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/agg_platform_support.h deleted file mode 100644 index 9a63411e50..0000000000 --- a/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/agg_platform_support.h +++ /dev/null @@ -1,686 +0,0 @@ -//---------------------------------------------------------------------------- -// Anti-Grain Geometry - Version 2.4 -// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com) -// -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -//---------------------------------------------------------------------------- -// Contact: mcseem@antigrain.com -// mcseemagg@yahoo.com -// http://www.antigrain.com -//---------------------------------------------------------------------------- -// -// class platform_support -// -// It's not a part of the AGG library, it's just a helper class to create -// interactive demo examples. Since the examples should not be too complex -// this class is provided to support some very basic interactive graphical -// functionality, such as putting the rendered image to the window, simple -// keyboard and mouse input, window resizing, setting the window title, -// and catching the "idle" events. -// -// The idea is to have a single header file that does not depend on any -// platform (I hate these endless #ifdef/#elif/#elif.../#endif) and a number -// of different implementations depending on the concrete platform. -// The most popular platforms are: -// -// Windows-32 API -// X-Window API -// SDL library (see http://www.libsdl.org/) -// MacOS C/C++ API -// -// This file does not include any system dependent .h files such as -// windows.h or X11.h, so, your demo applications do not depend on the -// platform. The only file that can #include system dependend headers -// is the implementation file agg_platform_support.cpp. Different -// implementations are placed in different directories, such as -// ~/agg/src/platform/win32 -// ~/agg/src/platform/sdl -// ~/agg/src/platform/X11 -// and so on. -// -// All the system dependent stuff sits in the platform_specific -// class which is forward-declared here but not defined. -// The platform_support class has just a pointer to it and it's -// the responsibility of the implementation to create/delete it. -// This class being defined in the implementation file can have -// any platform dependent stuff such as HWND, X11 Window and so on. -// -//---------------------------------------------------------------------------- - - -#ifndef AGG_PLATFORM_SUPPORT_INCLUDED -#define AGG_PLATFORM_SUPPORT_INCLUDED - - -#include "agg_basics.h" -#include "agg_rendering_buffer.h" -#include "agg_trans_viewport.h" -#include "ctrl/agg_ctrl.h" - -namespace agg -{ - - //----------------------------------------------------------window_flag_e - // These are flags used in method init(). Not all of them are - // applicable on different platforms, for example the win32_api - // cannot use a hardware buffer (window_hw_buffer). - // The implementation should simply ignore unsupported flags. - enum window_flag_e - { - window_resize = 1, - window_hw_buffer = 2, - window_keep_aspect_ratio = 4, - window_process_all_keys = 8 - }; - - //-----------------------------------------------------------pix_format_e - // Possible formats of the rendering buffer. Initially I thought that it's - // reasonable to create the buffer and the rendering functions in - // accordance with the native pixel format of the system because it - // would have no overhead for pixel format conersion. - // But eventually I came to a conclusion that having a possibility to - // convert pixel formats on demand is a good idea. First, it was X11 where - // there lots of different formats and visuals and it would be great to - // render everything in, say, RGB-24 and display it automatically without - // any additional efforts. The second reason is to have a possibility to - // debug renderers for different pixel formats and colorspaces having only - // one computer and one system. - // - // This stuff is not included into the basic AGG functionality because the - // number of supported pixel formats (and/or colorspaces) can be great and - // if one needs to add new format it would be good only to add new - // rendering files without having to modify any existing ones (a general - // principle of incapsulation and isolation). - // - // Using a particular pixel format doesn't obligatory mean the necessity - // of software conversion. For example, win32 API can natively display - // gray8, 15-bit RGB, 24-bit BGR, and 32-bit BGRA formats. - // This list can be (and will be!) extended in future. - enum pix_format_e - { - pix_format_undefined = 0, // By default. No conversions are applied - pix_format_bw, // 1 bit per color B/W - pix_format_gray8, // Simple 256 level grayscale - pix_format_sgray8, // Simple 256 level grayscale (sRGB) - pix_format_gray16, // Simple 65535 level grayscale - pix_format_gray32, // Grayscale, one 32-bit float per pixel - pix_format_rgb555, // 15 bit rgb. Depends on the byte ordering! - pix_format_rgb565, // 16 bit rgb. Depends on the byte ordering! - pix_format_rgbAAA, // 30 bit rgb. Depends on the byte ordering! - pix_format_rgbBBA, // 32 bit rgb. Depends on the byte ordering! - pix_format_bgrAAA, // 30 bit bgr. Depends on the byte ordering! - pix_format_bgrABB, // 32 bit bgr. Depends on the byte ordering! - pix_format_rgb24, // R-G-B, one byte per color component - pix_format_srgb24, // R-G-B, one byte per color component (sRGB) - pix_format_bgr24, // B-G-R, one byte per color component - pix_format_sbgr24, // B-G-R, native win32 BMP format (sRGB) - pix_format_rgba32, // R-G-B-A, one byte per color component - pix_format_srgba32, // R-G-B-A, one byte per color component (sRGB) - pix_format_argb32, // A-R-G-B, native MAC format - pix_format_sargb32, // A-R-G-B, native MAC format (sRGB) - pix_format_abgr32, // A-B-G-R, one byte per color component - pix_format_sabgr32, // A-B-G-R, one byte per color component (sRGB) - pix_format_bgra32, // B-G-R-A, native win32 BMP format - pix_format_sbgra32, // B-G-R-A, native win32 BMP format (sRGB) - pix_format_rgb48, // R-G-B, 16 bits per color component - pix_format_bgr48, // B-G-R, native win32 BMP format. - pix_format_rgb96, // R-G-B, one 32-bit float per color component - pix_format_bgr96, // B-G-R, one 32-bit float per color component - pix_format_rgba64, // R-G-B-A, 16 bits byte per color component - pix_format_argb64, // A-R-G-B, native MAC format - pix_format_abgr64, // A-B-G-R, one byte per color component - pix_format_bgra64, // B-G-R-A, native win32 BMP format - pix_format_rgba128, // R-G-B-A, one 32-bit float per color component - pix_format_argb128, // A-R-G-B, one 32-bit float per color component - pix_format_abgr128, // A-B-G-R, one 32-bit float per color component - pix_format_bgra128, // B-G-R-A, one 32-bit float per color component - - end_of_pix_formats - }; - - //-------------------------------------------------------------input_flag_e - // Mouse and keyboard flags. They can be different on different platforms - // and the ways they are obtained are also different. But in any case - // the system dependent flags should be mapped into these ones. The meaning - // of that is as follows. For example, if kbd_ctrl is set it means that the - // ctrl key is pressed and being held at the moment. They are also used in - // the overridden methods such as on_mouse_move(), on_mouse_button_down(), - // on_mouse_button_dbl_click(), on_mouse_button_up(), on_key(). - // In the method on_mouse_button_up() the mouse flags have different - // meaning. They mean that the respective button is being released, but - // the meaning of the keyboard flags remains the same. - // There's absolut minimal set of flags is used because they'll be most - // probably supported on different platforms. Even the mouse_right flag - // is restricted because Mac's mice have only one button, but AFAIK - // it can be simulated with holding a special key on the keydoard. - enum input_flag_e - { - mouse_left = 1, - mouse_right = 2, - kbd_shift = 4, - kbd_ctrl = 8 - }; - - //--------------------------------------------------------------key_code_e - // Keyboard codes. There's also a restricted set of codes that are most - // probably supported on different platforms. Any platform dependent codes - // should be converted into these ones. There're only those codes are - // defined that cannot be represented as printable ASCII-characters. - // All printable ASCII-set can be used in a regular C/C++ manner: - // ' ', 'A', '0' '+' and so on. - // Since the class is used for creating very simple demo-applications - // we don't need very rich possibilities here, just basic ones. - // Actually the numeric key codes are taken from the SDL library, so, - // the implementation of the SDL support does not require any mapping. - enum key_code_e - { - // ASCII set. Should be supported everywhere - key_backspace = 8, - key_tab = 9, - key_clear = 12, - key_return = 13, - key_pause = 19, - key_escape = 27, - - // Keypad - key_delete = 127, - key_kp0 = 256, - key_kp1 = 257, - key_kp2 = 258, - key_kp3 = 259, - key_kp4 = 260, - key_kp5 = 261, - key_kp6 = 262, - key_kp7 = 263, - key_kp8 = 264, - key_kp9 = 265, - key_kp_period = 266, - key_kp_divide = 267, - key_kp_multiply = 268, - key_kp_minus = 269, - key_kp_plus = 270, - key_kp_enter = 271, - key_kp_equals = 272, - - // Arrow-keys and stuff - key_up = 273, - key_down = 274, - key_right = 275, - key_left = 276, - key_insert = 277, - key_home = 278, - key_end = 279, - key_page_up = 280, - key_page_down = 281, - - // Functional keys. You'd better avoid using - // f11...f15 in your applications if you want - // the applications to be portable - key_f1 = 282, - key_f2 = 283, - key_f3 = 284, - key_f4 = 285, - key_f5 = 286, - key_f6 = 287, - key_f7 = 288, - key_f8 = 289, - key_f9 = 290, - key_f10 = 291, - key_f11 = 292, - key_f12 = 293, - key_f13 = 294, - key_f14 = 295, - key_f15 = 296, - - // The possibility of using these keys is - // very restricted. Actually it's guaranteed - // only in win32_api and win32_sdl implementations - key_numlock = 300, - key_capslock = 301, - key_scrollock = 302, - - // Phew! - end_of_key_codes - }; - - - //------------------------------------------------------------------------ - // A predeclaration of the platform dependent class. Since we do not - // know anything here the only we can have is just a pointer to this - // class as a data member. It should be created and destroyed explicitly - // in the constructor/destructor of the platform_support class. - // Although the pointer to platform_specific is public the application - // cannot have access to its members or methods since it does not know - // anything about them and it's a perfect incapsulation :-) - class platform_specific; - - - //----------------------------------------------------------ctrl_container - // A helper class that contains pointers to a number of controls. - // This class is used to ease the event handling with controls. - // The implementation should simply call the appropriate methods - // of this class when appropriate events occur. - class ctrl_container - { - enum max_ctrl_e { max_ctrl = 64 }; - - public: - //-------------------------------------------------------------------- - ctrl_container() : m_num_ctrl(0), m_cur_ctrl(-1) {} - - //-------------------------------------------------------------------- - void add(ctrl& c) - { - if(m_num_ctrl < max_ctrl) - { - m_ctrl[m_num_ctrl++] = &c; - } - } - - //-------------------------------------------------------------------- - bool in_rect(double x, double y) - { - unsigned i; - for(i = 0; i < m_num_ctrl; i++) - { - if(m_ctrl[i]->in_rect(x, y)) return true; - } - return false; - } - - //-------------------------------------------------------------------- - bool on_mouse_button_down(double x, double y) - { - unsigned i; - for(i = 0; i < m_num_ctrl; i++) - { - if(m_ctrl[i]->on_mouse_button_down(x, y)) return true; - } - return false; - } - - //-------------------------------------------------------------------- - bool on_mouse_button_up(double x, double y) - { - unsigned i; - bool flag = false; - for(i = 0; i < m_num_ctrl; i++) - { - if(m_ctrl[i]->on_mouse_button_up(x, y)) flag = true; - } - return flag; - } - - //-------------------------------------------------------------------- - bool on_mouse_move(double x, double y, bool button_flag) - { - unsigned i; - for(i = 0; i < m_num_ctrl; i++) - { - if(m_ctrl[i]->on_mouse_move(x, y, button_flag)) return true; - } - return false; - } - - //-------------------------------------------------------------------- - bool on_arrow_keys(bool left, bool right, bool down, bool up) - { - if(m_cur_ctrl >= 0) - { - return m_ctrl[m_cur_ctrl]->on_arrow_keys(left, right, down, up); - } - return false; - } - - //-------------------------------------------------------------------- - bool set_cur(double x, double y) - { - unsigned i; - for(i = 0; i < m_num_ctrl; i++) - { - if(m_ctrl[i]->in_rect(x, y)) - { - if(m_cur_ctrl != int(i)) - { - m_cur_ctrl = i; - return true; - } - return false; - } - } - if(m_cur_ctrl != -1) - { - m_cur_ctrl = -1; - return true; - } - return false; - } - - private: - ctrl* m_ctrl[max_ctrl]; - unsigned m_num_ctrl; - int m_cur_ctrl; - }; - - - - //---------------------------------------------------------platform_support - // This class is a base one to the apllication classes. It can be used - // as follows: - // - // class the_application : public agg::platform_support - // { - // public: - // the_application(unsigned bpp, bool flip_y) : - // platform_support(bpp, flip_y) - // . . . - // - // //override stuff . . . - // virtual void on_init() - // { - // . . . - // } - // - // virtual void on_draw() - // { - // . . . - // } - // - // virtual void on_resize(int sx, int sy) - // { - // . . . - // } - // // . . . and so on, see virtual functions - // - // - // //any your own stuff . . . - // }; - // - // - // int agg_main(int argc, char* argv[]) - // { - // the_application app(pix_format_rgb24, true); - // app.caption("AGG Example. Lion"); - // - // if(app.init(500, 400, agg::window_resize)) - // { - // return app.run(); - // } - // return 1; - // } - // - // The reason to have agg_main() instead of just main() is that SDL - // for Windows requires including SDL.h if you define main(). Since - // the demo applications cannot rely on any platform/library specific - // stuff it's impossible to include SDL.h into the application files. - // The demo applications are simple and their use is restricted, so, - // this approach is quite reasonable. - // - class platform_support - { - public: - enum max_images_e { max_images = 16 }; - - // format - see enum pix_format_e {}; - // flip_y - true if you want to have the Y-axis flipped vertically. - platform_support(pix_format_e format, bool flip_y); - virtual ~platform_support(); - - // Setting the windows caption (title). Should be able - // to be called at least before calling init(). - // It's perfect if they can be called anytime. - void caption(const char* cap); - const char* caption() const { return m_caption; } - - //-------------------------------------------------------------------- - // These 3 methods handle working with images. The image - // formats are the simplest ones, such as .BMP in Windows or - // .ppm in Linux. In the applications the names of the files - // should not have any file extensions. Method load_img() can - // be called before init(), so, the application could be able - // to determine the initial size of the window depending on - // the size of the loaded image. - // The argument "idx" is the number of the image 0...max_images-1 - bool load_img(unsigned idx, const char* file); - bool save_img(unsigned idx, const char* file); - bool create_img(unsigned idx, unsigned width=0, unsigned height=0); - - //-------------------------------------------------------------------- - // init() and run(). See description before the class for details. - // The necessity of calling init() after creation is that it's - // impossible to call the overridden virtual function (on_init()) - // from the constructor. On the other hand it's very useful to have - // some on_init() event handler when the window is created but - // not yet displayed. The rbuf_window() method (see below) is - // accessible from on_init(). - bool init(unsigned width, unsigned height, unsigned flags); - int run(); - - //-------------------------------------------------------------------- - // The very same parameters that were used in the constructor - pix_format_e format() const { return m_format; } - bool flip_y() const { return m_flip_y; } - unsigned bpp() const { return m_bpp; } - - //-------------------------------------------------------------------- - // The following provides a very simple mechanism of doing someting - // in background. It's not multithreading. When wait_mode is true - // the class waits for the events and it does not ever call on_idle(). - // When it's false it calls on_idle() when the event queue is empty. - // The mode can be changed anytime. This mechanism is satisfactory - // to create very simple animations. - bool wait_mode() const { return m_wait_mode; } - void wait_mode(bool wait_mode) { m_wait_mode = wait_mode; } - - //-------------------------------------------------------------------- - // These two functions control updating of the window. - // force_redraw() is an analog of the Win32 InvalidateRect() function. - // Being called it sets a flag (or sends a message) which results - // in calling on_draw() and updating the content of the window - // when the next event cycle comes. - // update_window() results in just putting immediately the content - // of the currently rendered buffer to the window without calling - // on_draw(). - void force_redraw(); - void update_window(); - - //-------------------------------------------------------------------- - // So, finally, how to draw anythig with AGG? Very simple. - // rbuf_window() returns a reference to the main rendering - // buffer which can be attached to any rendering class. - // rbuf_img() returns a reference to the previously created - // or loaded image buffer (see load_img()). The image buffers - // are not displayed directly, they should be copied to or - // combined somehow with the rbuf_window(). rbuf_window() is - // the only buffer that can be actually displayed. - rendering_buffer& rbuf_window() { return m_rbuf_window; } - rendering_buffer& rbuf_img(unsigned idx) { return m_rbuf_img[idx]; } - - - //-------------------------------------------------------------------- - // Returns file extension used in the implementation for the particular - // system. - const char* img_ext() const; - - //-------------------------------------------------------------------- - void copy_img_to_window(unsigned idx) - { - if(idx < max_images && rbuf_img(idx).buf()) - { - rbuf_window().copy_from(rbuf_img(idx)); - } - } - - //-------------------------------------------------------------------- - void copy_window_to_img(unsigned idx) - { - if(idx < max_images) - { - create_img(idx, rbuf_window().width(), rbuf_window().height()); - rbuf_img(idx).copy_from(rbuf_window()); - } - } - - //-------------------------------------------------------------------- - void copy_img_to_img(unsigned idx_to, unsigned idx_from) - { - if(idx_from < max_images && - idx_to < max_images && - rbuf_img(idx_from).buf()) - { - create_img(idx_to, - rbuf_img(idx_from).width(), - rbuf_img(idx_from).height()); - rbuf_img(idx_to).copy_from(rbuf_img(idx_from)); - } - } - - //-------------------------------------------------------------------- - // Event handlers. They are not pure functions, so you don't have - // to override them all. - // In my demo applications these functions are defined inside - // the the_application class (implicit inlining) which is in general - // very bad practice, I mean vitual inline methods. At least it does - // not make sense. - // But in this case it's quite appropriate bacause we have the only - // instance of the the_application class and it is in the same file - // where this class is defined. - virtual void on_init(); - virtual void on_resize(int sx, int sy); - virtual void on_idle(); - virtual void on_mouse_move(int x, int y, unsigned flags); - virtual void on_mouse_button_down(int x, int y, unsigned flags); - virtual void on_mouse_button_up(int x, int y, unsigned flags); - virtual void on_key(int x, int y, unsigned key, unsigned flags); - virtual void on_ctrl_change(); - virtual void on_draw(); - virtual void on_post_draw(void* raw_handler); - - //-------------------------------------------------------------------- - // Adding control elements. A control element once added will be - // working and reacting to the mouse and keyboard events. Still, you - // will have to render them in the on_draw() using function - // render_ctrl() because platform_support doesn't know anything about - // renderers you use. The controls will be also scaled automatically - // if they provide a proper scaling mechanism (all the controls - // included into the basic AGG package do). - // If you don't need a particular control to be scaled automatically - // call ctrl::no_transform() after adding. - void add_ctrl(ctrl& c) { m_ctrls.add(c); c.transform(m_resize_mtx); } - - //-------------------------------------------------------------------- - // Auxiliary functions. trans_affine_resizing() modifier sets up the resizing - // matrix on the basis of the given width and height and the initial - // width and height of the window. The implementation should simply - // call this function every time when it catches the resizing event - // passing in the new values of width and height of the window. - // Nothing prevents you from "cheating" the scaling matrix if you - // call this function from somewhere with wrong arguments. - // trans_affine_resizing() accessor simply returns current resizing matrix - // which can be used to apply additional scaling of any of your - // stuff when the window is being resized. - // width(), height(), initial_width(), and initial_height() must be - // clear to understand with no comments :-) - void trans_affine_resizing(int width, int height) - { - if(m_window_flags & window_keep_aspect_ratio) - { - //double sx = double(width) / double(m_initial_width); - //double sy = double(height) / double(m_initial_height); - //if(sy < sx) sx = sy; - //m_resize_mtx = trans_affine_scaling(sx, sx); - trans_viewport vp; - vp.preserve_aspect_ratio(0.5, 0.5, aspect_ratio_meet); - vp.device_viewport(0, 0, width, height); - vp.world_viewport(0, 0, m_initial_width, m_initial_height); - m_resize_mtx = vp.to_affine(); - } - else - { - m_resize_mtx = trans_affine_scaling( - double(width) / double(m_initial_width), - double(height) / double(m_initial_height)); - } - } - trans_affine& trans_affine_resizing() { return m_resize_mtx; } - const trans_affine& trans_affine_resizing() const { return m_resize_mtx; } - double width() const { return m_rbuf_window.width(); } - double height() const { return m_rbuf_window.height(); } - double initial_width() const { return m_initial_width; } - double initial_height() const { return m_initial_height; } - unsigned window_flags() const { return m_window_flags; } - - //-------------------------------------------------------------------- - // Get raw display handler depending on the system. - // For win32 its an HDC, for other systems it can be a pointer to some - // structure. See the implementation files for detals. - // It's provided "as is", so, first you should check if it's not null. - // If it's null the raw_display_handler is not supported. Also, there's - // no guarantee that this function is implemented, so, in some - // implementations you may have simply an unresolved symbol when linking. - void* raw_display_handler(); - - //-------------------------------------------------------------------- - // display message box or print the message to the console - // (depending on implementation) - void message(const char* msg); - - //-------------------------------------------------------------------- - // Stopwatch functions. Function elapsed_time() returns time elapsed - // since the latest start_timer() invocation in millisecods. - // The resolutoin depends on the implementation. - // In Win32 it uses QueryPerformanceFrequency() / QueryPerformanceCounter(). - void start_timer(); - double elapsed_time() const; - - //-------------------------------------------------------------------- - // Get the full file name. In most cases it simply returns - // file_name. As it's appropriate in many systems if you open - // a file by its name without specifying the path, it tries to - // open it in the current directory. The demos usually expect - // all the supplementary files to be placed in the current - // directory, that is usually coincides with the directory where - // the executable is. However, in some systems (BeOS) it's not so. - // For those kinds of systems full_file_name() can help access files - // preserving commonly used policy. - // So, it's a good idea to use in the demos the following: - // FILE* fd = fopen(full_file_name("some.file"), "r"); - // instead of - // FILE* fd = fopen("some.file", "r"); - const char* full_file_name(const char* file_name); - - public: - platform_specific* m_specific; - ctrl_container m_ctrls; - - // Sorry, I'm too tired to describe the private - // data membders. See the implementations for different - // platforms for details. - private: - platform_support(const platform_support&); - const platform_support& operator = (const platform_support&); - - pix_format_e m_format; - unsigned m_bpp; - rendering_buffer m_rbuf_window; - rendering_buffer m_rbuf_img[max_images]; - unsigned m_window_flags; - bool m_wait_mode; - bool m_flip_y; - char m_caption[256]; - int m_initial_width; - int m_initial_height; - trans_affine m_resize_mtx; - }; - - -} - - - -#endif - diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/mac/agg_mac_pmap.h b/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/mac/agg_mac_pmap.h deleted file mode 100644 index d7860b6fee..0000000000 --- a/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/mac/agg_mac_pmap.h +++ /dev/null @@ -1,87 +0,0 @@ -//---------------------------------------------------------------------------- -// Anti-Grain Geometry - Version 2.4 -// Copyright (C) 2002-2005 Maxim Shemanarev (McSeem) -// Copyright (C) 2002 Hansruedi Baer (MacOS support) -// -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -//---------------------------------------------------------------------------- -// Contact: mcseem@antigrain.com -// mcseemagg@yahoo.com -// http://www.antigrain.com -// baer@karto.baug.eth.ch -//---------------------------------------------------------------------------- -// -// class pixel_map -// -//---------------------------------------------------------------------------- -#ifndef AGG_MAC_PMAP_INCLUDED -#define AGG_MAC_PMAP_INCLUDED - - -#include <stdio.h> -#include <Carbon.h> - - -namespace agg -{ - enum org_e - { - org_mono8 = 8, - org_color16 = 16, - org_color24 = 24, - org_color32 = 32 - }; - - class pixel_map - { - public: - ~pixel_map(); - pixel_map(); - - public: - void destroy(); - void create(unsigned width, - unsigned height, - org_e org, - unsigned clear_val=255); - - void clear(unsigned clear_val=255); - bool load_from_qt(const char* filename); - bool save_as_qt(const char* filename) const; - - void draw(WindowRef window, - const Rect* device_rect=0, - const Rect* bmp_rect=0) const; - void draw(WindowRef window, int x, int y, double scale=1.0) const; - void blend(WindowRef window, - const Rect* device_rect=0, - const Rect* bmp_rect=0) const; - void blend(WindowRef window, int x, int y, double scale=1.0) const; - - unsigned char* buf(); - unsigned width() const; - unsigned height() const; - int row_bytes() const; - unsigned bpp() const { return m_bpp; } - - //Auxiliary static functions - static unsigned calc_row_len(unsigned width, unsigned bits_per_pixel); - private: - pixel_map(const pixel_map&); - const pixel_map& operator = (const pixel_map&); - - private: - GWorldPtr m_pmap; - unsigned char* m_buf; - unsigned m_bpp; - unsigned m_img_size; - }; - -} - - -#endif diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/win32/agg_win32_bmp.h b/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/win32/agg_win32_bmp.h deleted file mode 100644 index 5391e8bb9b..0000000000 --- a/contrib/python/matplotlib/py3/extern/agg24-svn/include/platform/win32/agg_win32_bmp.h +++ /dev/null @@ -1,117 +0,0 @@ -//---------------------------------------------------------------------------- -// Anti-Grain Geometry - Version 2.4 -// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com) -// -// Permission to copy, use, modify, sell and distribute this software -// is granted provided this copyright notice appears in all copies. -// This software is provided "as is" without express or implied -// warranty, and with no claim as to its suitability for any purpose. -// -//---------------------------------------------------------------------------- -// Contact: mcseem@antigrain.com -// mcseemagg@yahoo.com -// http://www.antigrain.com -//---------------------------------------------------------------------------- -// -// class pixel_map -// -//---------------------------------------------------------------------------- -#ifndef AGG_WIN32_BMP_INCLUDED -#define AGG_WIN32_BMP_INCLUDED - - -#include <windows.h> -#include <stdio.h> - - -namespace agg -{ - enum org_e - { - org_mono8 = 8, - org_color16 = 16, - org_color24 = 24, - org_color32 = 32, - org_color48 = 48, - org_color64 = 64 - }; - - class pixel_map - { - public: - ~pixel_map(); - pixel_map(); - - public: - void destroy(); - void create(unsigned width, - unsigned height, - org_e org, - unsigned clear_val=256); - HBITMAP create_dib_section(HDC h_dc, - unsigned width, - unsigned height, - org_e org, - unsigned clear_val=256); - - void clear(unsigned clear_val=256); - void attach_to_bmp(BITMAPINFO* bmp); - BITMAPINFO* bitmap_info() { return m_bmp; } - bool load_from_bmp(FILE* fd); - bool save_as_bmp(FILE* fd) const; - bool load_from_bmp(const char* filename); - bool save_as_bmp(const char* filename) const; - - void draw(HDC h_dc, - const RECT* device_rect=0, - const RECT* bmp_rect=0) const; - void draw(HDC h_dc, int x, int y, double scale=1.0) const; - - void blend(HDC h_dc, - const RECT* device_rect=0, - const RECT* bmp_rect=0) const; - void blend(HDC h_dc, int x, int y, double scale=1.0) const; - - - unsigned char* buf(); - unsigned width() const; - unsigned height() const; - int stride() const; - unsigned bpp() const { return m_bpp; } - - //Auxiliary static functions - static unsigned calc_full_size(BITMAPINFO *bmp); - static unsigned calc_header_size(BITMAPINFO *bmp); - static unsigned calc_palette_size(unsigned clr_used, - unsigned bits_per_pixel); - static unsigned calc_palette_size(BITMAPINFO *bmp); - static unsigned char* calc_img_ptr(BITMAPINFO *bmp); - static BITMAPINFO* create_bitmap_info(unsigned width, - unsigned height, - unsigned bits_per_pixel); - static void create_gray_scale_palette(BITMAPINFO *bmp); - static unsigned calc_row_len(unsigned width, unsigned bits_per_pixel); - - private: - pixel_map(const pixel_map&); - const pixel_map& operator = (const pixel_map&); - void create_from_bmp(BITMAPINFO *bmp); - - HBITMAP create_dib_section_from_args(HDC h_dc, - unsigned width, - unsigned height, - unsigned bits_per_pixel); - - private: - BITMAPINFO* m_bmp; - unsigned char* m_buf; - unsigned m_bpp; - bool m_is_internal; - unsigned m_img_size; - unsigned m_full_size; - }; - -} - - -#endif |