x_basic.h
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:3k
开发平台:

MultiPlatform

  1. /*******************************************************************************
  2. +
  3. +  LEDA-R  3.2.3
  4. +
  5. +  x_basic.h
  6. +
  7. +  Copyright (c) 1995  by  Max-Planck-Institut fuer Informatik
  8. +  Im Stadtwald, 66123 Saarbruecken, Germany     
  9. +  All rights reserved.
  10. *******************************************************************************/
  11. #ifndef LEDA_X_BASIC_H
  12. #define LEDA_X_BASIC_H
  13. // basic graphics operations used in the LEDA window & panel classes
  14. #include <LEDA/impl/x_window.h>
  15. /* display */
  16. void open_display(void);
  17. void close_display(void);
  18. void flush_display(void);
  19. int  display_width(void);
  20. int  display_height(void);
  21. int  display_depth(void);
  22. /* windows */
  23. Window open_window(int x,int y,int width,int height,int bg_col, 
  24.                    const char* header, const char* label);
  25. void close_window(Window win);
  26. void clear_window(Window win);
  27. int  window_height(Window win);
  28. int  window_width(Window win);
  29. void window_position(Window win, int* x, int* y);
  30. void set_header(Window win, const char *s);
  31. void set_redraw(Window,void (*f)());
  32. void start_batch(Window);
  33. void end_batch(Window);
  34. /* drawing */
  35. void pixel(Window win, int x, int y);
  36. void pixels(Window win, int n, int* x, int* y);
  37. void point(Window win, int x, int y);
  38. void line(Window win, int x1, int y1, int x2, int y2);
  39. void rectangle(Window win, int x1, int y1, int x2, int y2);
  40. void box(Window win, int x1, int y1, int x2, int y2);
  41. void arc(Window win,int x0,int y0,int r1,int r2,double start,double angle);
  42. void circle(Window win, int x0, int y0, int r);
  43. void ellipse(Window win, int x0, int y0, int r1, int r2);
  44. void fill_arc(Window win,int x0,int y0,int r1,int r2,double start,double angle);
  45. void fill_circle(Window win, int x0, int y0, int r);
  46. void fill_ellipse(Window win, int x0, int y0, int r1, int r2);
  47. void fill_polygon(Window win, int n, int* xcoord, int* ycoord);
  48. void put_text(Window win, int x, int y, const char* s, int opaque);
  49. void put_text(Window win, int x, int y, const char* s, int l, int opaque);
  50. void put_ctext(Window win, int x, int y, const char* s, int opaque);
  51. char* create_pixrect(Window win, int x1, int y1, int x2, int y2);
  52. void insert_pixrect(Window win, int x, int y, char* rect);
  53. void delete_pixrect(char* rect);
  54. void copy_pixrect(Window win, int x1, int y1, int x2, int y2, int x, int y);
  55. void insert_bitmap(Window win, int width, int height, char* data);
  56. void show_coordinates(Window win, const char* s);
  57. /* fonts and text */
  58. int  load_text_font(const char* font_name);
  59. int  load_bold_font(const char* font_name);
  60. int  load_message_font(const char* font_name);
  61. int  set_font(const char* fname);
  62. void set_text_font(void);
  63. void set_bold_font(void);
  64. void set_message_font(void);
  65. int text_width(const char* s);
  66. int text_height(const char* s);
  67. /* drawing parameters */
  68. int  set_color(int col);
  69. int  set_mode(int m);
  70. int  set_line_width(int w);
  71. int  set_line_style(int s);
  72. void set_read_gc(void);
  73. void reset_gc(void);
  74. /* colors */
  75. void set_palette(int,int,int,int);
  76. int  new_color(const char*);
  77. /* events */
  78. int  get_next_event(Window* win, int* val, int* x, int* y, unsigned long *t);
  79. int  check_next_event(Window* win, int* val, int* x, int* y, unsigned long *t);
  80. void put_back_event(void);
  81. #endif