home *** CD-ROM | disk | FTP | other *** search
/ ftp.sunet.sepub/pictures / 2014.11.ftp.sunet.se-pictures.tar / ftp.sunet.se / pub / pictures / ACiD-artpacks / programs / unix / editors / gimp-plugins-unstable-0_99_23_tar.gz / gimp-plugins-unstable-0_99_23_tar / gimp-plugins-unstable-0.99.23 / fp / fp.h < prev    next >
C/C++ Source or Header  |  1998-02-19  |  5KB  |  213 lines

  1. #define MAX_PREVIEW_SIZE   125
  2. #define MAX_ROUGHNESS      128
  3. #define RANGE_HEIGHT       15
  4. #define PR_BX_BRDR         10
  5. #define ALL                255
  6.  
  7. #define RANGE_ADJUST_MASK GDK_EXPOSURE_MASK | \
  8.                         GDK_ENTER_NOTIFY_MASK | \
  9.                         GDK_BUTTON_PRESS_MASK | \
  10.                         GDK_BUTTON_RELEASE_MASK | \
  11.                         GDK_BUTTON1_MOTION_MASK | \
  12.                         GDK_POINTER_MOTION_HINT_MASK
  13.  
  14.  
  15. typedef struct {
  16.   gint run;
  17. } fpInterface;
  18.  
  19. typedef double hsv;
  20.  
  21. typedef struct {
  22.   gint      width;
  23.   gint      height;
  24.   guchar    *rgb;
  25.   hsv       *hsv;
  26.   guchar    *mask;
  27. } ReducedImage;
  28.  
  29. typedef enum {
  30.   SHADOWS,
  31.   MIDTONES,
  32.   HIGHLIGHTS,
  33.   INTENSITIES
  34. }FP_Intensity;
  35.  
  36. enum {
  37.   NONEATALL  =0,
  38.   CURRENT    =1,
  39.   HUE        =2, 
  40.   SATURATION =4,
  41.   VALUE      =8
  42. };
  43.  
  44.  
  45. enum {
  46.   RED,
  47.   GREEN,
  48.   BLUE,
  49.   CYAN,
  50.   YELLOW,
  51.   MAGENTA,
  52.   ALL_PRIMARY
  53. };
  54.  
  55. enum {
  56.   DOWN = -1,
  57.   UP   =  1
  58. };
  59.  
  60. enum {
  61.   BY_HUE, 
  62.   BY_SAT, 
  63.   BY_VAL, 
  64.   JUDGE_BY
  65. };
  66.  
  67.  
  68. typedef struct {
  69.   GtkWidget *window;
  70.   GtkWidget *shadowsEntry;
  71.   GtkWidget *midtonesEntry;
  72.   GtkWidget *rangePreview;
  73.   GtkWidget *aliasingPreview;
  74.   GtkObject *aliasingData;
  75.   GtkWidget *aliasingGraph;
  76. } AdvancedWindow;
  77.  
  78.  
  79. typedef struct {
  80.   int Color;
  81.   float Rough;
  82.   GtkWidget *roughnessScale;
  83.   float Alias;
  84.   GtkWidget *aliasingScale;
  85.   float PreviewSize;
  86.   GtkWidget *previewSizeScale;
  87.   FP_Intensity Range;
  88.   gint ValueBy;
  89.   gint SlctnOnly;
  90.   gint  RealTime;
  91.   guchar Offset;
  92.   guchar VisibleFrames;
  93.   guchar Cutoffs[INTENSITIES];
  94.   gint Touched[JUDGE_BY];
  95.   gint redAdj[JUDGE_BY][256];
  96.   gint blueAdj[JUDGE_BY][256];
  97.   gint greenAdj[JUDGE_BY][256];
  98.   gint satAdj[JUDGE_BY][256];
  99.   GtkWidget *rangeLabels[12];
  100. }FP_Params;
  101.  
  102. GtkWidget *fp_create_bna(void);
  103. GtkWidget *fp_create_rough(void);
  104. GtkWidget *fp_create_range(void);
  105. GtkWidget *fp_create_circle_palette(void);
  106. GtkWidget *fp_create_lnd(void);
  107. GtkWidget *fp_create_show(void);
  108. GtkWidget *fp_create_msnls();
  109. GtkWidget *fp_create_frame_select();  
  110. GtkWidget *fp_create_pixels_select_by();
  111.  
  112. void  fp_show_hide_frame(GtkWidget *button,
  113.              GtkWidget *frame);
  114.  
  115.  
  116. ReducedImage  *Reduce_The_Image   (GDrawable *,
  117.                    GDrawable *,
  118.                    gint,
  119.                    gint);
  120.  
  121. void      fp_render_preview  (GtkWidget *,
  122.                   gint,
  123.                   gint         );
  124.  
  125. void      Update_Current_FP  (gint,
  126.                   gint         );
  127.  
  128. void      fp_Create_Nudge    (gint*        );
  129.  
  130. gint      fp_dialog          (void);
  131. gint      fp_advanced_dialog (void);
  132.  
  133. void      fp_advanced_call   (void);
  134.  
  135. void      fp_entire_image                (GtkWidget *,
  136.                       gpointer     );
  137. void      fp_selection_only              (GtkWidget *,
  138.                       gpointer     );
  139.  
  140. void      fp_selection_in_context        (GtkWidget *,
  141.                       gpointer     );
  142.  
  143. void      selectionMade                  (GtkWidget *,
  144.                       gpointer     );
  145. void      fp_close_callback              (GtkWidget *,
  146.                       gpointer     );
  147. void      fp_ok_callback                 (GtkWidget *,
  148.                       gpointer     );
  149. void      fp_scale_update                (GtkAdjustment *,
  150.                       float*       );
  151. void      fp_change_current_range        (GtkAdjustment*,
  152.                       gint*        );
  153. void      fp_change_current_pixels_by    (GtkWidget *,
  154.                       gint      *);
  155. void      resetFilterPacks               (void);
  156.  
  157. void      update_range_labels            (void);
  158.  
  159. void      fp_create_smoothness_graph     (GtkWidget*    );
  160.  
  161. void      fp_range_preview_spill         (GtkWidget*, 
  162.                       gint           );
  163.  
  164. void      Create_A_Preview        (GtkWidget  **,
  165.                    GtkWidget  **, 
  166.                    int,
  167.                    int           );
  168.  
  169. void      Create_A_Table_Entry    (GtkWidget  **,
  170.                    GtkWidget  *,
  171.                    char       *);
  172.  
  173. GSList*   Button_In_A_Box        (GtkWidget  *,
  174.                   GSList     *,
  175.                   guchar     *,
  176.                   GtkSignalFunc,
  177.                   gpointer,
  178.                   int           );
  179.  
  180. void Check_Button_In_A_Box       (GtkWidget     *,
  181.                   guchar        *label,
  182.                   GtkSignalFunc func,
  183.                   gpointer      data,
  184.                   int           clicked);
  185.  
  186. void      Adjust_Preview_Sizes     (int width, 
  187.                     int height   );
  188. void      refreshPreviews          (int);
  189. void      initializeFilterPacks    (void);
  190.  
  191. void      fp                       (GDrawable  *drawable);
  192. void      fp_row                   (const guchar *src_row,
  193.                     guchar *dest_row,
  194.                     gint row,
  195.                     gint row_width,
  196.                     gint bytes);
  197.  
  198. void      draw_slider              (GdkWindow *window,
  199.                     GdkGC     *border_gc,
  200.                     GdkGC     *fill_gc,
  201.                     int        xpos);
  202. gint     FP_Range_Change_Events    (GtkWidget *, 
  203.                     GdkEvent *, 
  204.                     FP_Params *);
  205.  
  206. void     As_You_Drag               (GtkWidget *button);
  207. void     preview_size_scale_update (GtkAdjustment *adjustment,
  208.                     float         *scale_val);
  209. void     ErrorMessage              (guchar *);
  210.  
  211.  
  212. void     fp_advanced_ok();
  213.