GrafX2 2.9.3227
The ultimate 256-color painting program
|
Code for operations about the brush (grabbing, rotating, ...) and magnifier. More...
#include <math.h>
#include <stdlib.h>
#include "brush.h"
#include "buttons.h"
#include "engine.h"
#include "global.h"
#include "graph.h"
#include "misc.h"
#include "operatio.h"
#include "pages.h"
#include "screen.h"
#include "windows.h"
#include "keyboard.h"
Macros | |
#define | M_PI 3.141592653589793238462643 |
#define | REACH_DISTANCE 100 |
Functions | |
void | Return_to_draw_mode (void) |
Simulates clicking the "Draw" button. More... | |
void | Magnifier_12_0 (void) |
void | Colorpicker_12_0 (void) |
void | Colorpicker_1_1 (void) |
void | Colorpicker_2_1 (void) |
void | Colorpicker_0_1 (void) |
byte | Rightclick_colorpick (byte cursor_visible) |
void | Rightclick_colorpick_2_1 (void) |
void | Rightclick_colorpick_0_1 (void) |
void | Brush_12_0 (void) |
void | Brush_12_5 (void) |
void | Brush_0_5 (void) |
void | Polybrush_12_8 (void) |
void | Stretch_brush_12_0 (void) |
void | Stretch_brush_1_7 (void) |
void | Stretch_brush_0_7 (void) |
void | Stretch_brush_2_7 (void) |
void | Rotate_brush_12_0 (void) |
void | Rotate_brush_1_5 (void) |
void | Rotate_brush_0_5 (void) |
void | Rotate_brush_2_5 (void) |
void | Draw_stretch_spot (short x_pos, short y_pos) |
Draws a 2x2 XOR square at the specified picture coordinates, on the screen. More... | |
void | Distort_brush_0_0 (void) |
void | Distort_brush_1_0 (void) |
void | Distort_brush_1_8 (void) |
void | Distort_brush_1_9 (void) |
void | Distort_brush_0_9 (void) |
void | Distort_brush_2_0 (void) |
void | Distort_brush_2_8 (void) |
Code for operations about the brush (grabbing, rotating, ...) and magnifier.
#define M_PI 3.141592653589793238462643 |
#define REACH_DISTANCE 100 |
void Return_to_draw_mode | ( | void | ) |
Simulates clicking the "Draw" button.
References T_Config::Auto_discontinuous, BUTTON_DRAW, Change_paintbrush_shape(), Config, T_Config::Coords_rel, Current_operation, Display_cursor(), Hide_cursor, LEFT_SIDE, Menu_is_visible, Mouse_K, OPERATION_DISCONTINUOUS_DRAW, PAINTBRUSH_SHAPE_COLOR_BRUSH, Print_coordinates(), Print_in_menu(), RIGHT_SIDE, Select_button(), and Wait_end_of_click().
Referenced by Brush_0_5(), Distort_brush_2_0(), Distort_brush_2_8(), Polybrush_12_8(), Rotate_brush_2_5(), and Stretch_brush_2_7().
void Magnifier_12_0 | ( | void | ) |
References Clip_magnifier_offsets(), Compute_limits(), Compute_paintbrush_coordinates(), Display_all_screen(), Display_cursor(), T_Document::magnifier_height, T_Document::magnifier_mode, T_Document::magnifier_offset_X, T_Document::magnifier_offset_Y, T_Document::magnifier_width, Main, Mouse_X, Mouse_Y, T_Document::offset_X, T_Document::offset_Y, Operation_before_interrupt, Pixel_preview, Pixel_preview_magnifier, Position_screen_according_to_zoom(), Start_operation_stack(), and Wait_end_of_click().
Referenced by Init_operations().
void Colorpicker_12_0 | ( | void | ) |
References Colorpicker_color, Init_start_operation(), LEFT_SIDE, Mouse_K, Operation_push(), Set_back_color(), and Set_fore_color().
Referenced by Init_operations().
void Colorpicker_1_1 | ( | void | ) |
References Colorpicker_color, Colorpicker_X, Colorpicker_Y, Display_cursor(), Fore_color, Hide_cursor, T_Document::image_height, T_Document::image_width, Main, Menu_factor_X, Menu_is_visible, Menu_status_Y, Num2str, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_general(), Print_in_menu(), Read_pixel_from_current_screen(), and Set_fore_color().
Referenced by Init_operations().
void Colorpicker_2_1 | ( | void | ) |
References Back_color, Colorpicker_color, Colorpicker_X, Colorpicker_Y, Display_cursor(), Hide_cursor, T_Document::image_height, T_Document::image_width, Main, Menu_factor_X, Menu_is_visible, Menu_status_Y, Num2str, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_general(), Print_in_menu(), Read_pixel_from_current_screen(), and Set_back_color().
Referenced by Init_operations().
void Colorpicker_0_1 | ( | void | ) |
References BUTTON_COLORPICKER, Colorpicker_color, LEFT_SIDE, Operation_pop(), Set_back_color(), Set_fore_color(), and Unselect_button().
Referenced by Init_operations().
References Colorpicker_color, Colorpicker_X, Colorpicker_Y, Config, Display_cursor(), Hide_cursor, Init_start_operation(), Mouse_K, Operation_push(), OPERATION_RMB_COLORPICK, Quick_shade_mode, T_Config::Right_click_colorpick, RIGHT_SIDE, Rightclick_colorpick_2_1(), Shade_mode, Start_operation_stack(), and Tiling_mode.
Referenced by Airbrush_2_0(), Centered_lines_12_0(), Circle_12_0(), Curve_34_points_2_0(), Ellipse_12_0(), Fill_2_0(), Filled_polyform_12_0(), Freehand_mode1_2_0(), Freehand_mode2_2_0(), Freehand_Mode3_2_0(), K_line_12_0(), Line_12_0(), Polyfill_12_0(), Polyform_12_0(), Polygon_12_0(), Rectangle_12_0(), and Replace_2_0().
void Rightclick_colorpick_2_1 | ( | void | ) |
References Colorpicker_color, Colorpicker_X, Colorpicker_Y, T_Document::image_height, T_Document::image_width, Main, Menu_factor_X, Menu_is_visible, Menu_status_Y, Num2str, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_general(), Print_in_menu(), and Read_pixel_from_current_screen().
Referenced by Rightclick_colorpick().
void Rightclick_colorpick_0_1 | ( | void | ) |
References Colorpicker_color, Display_cursor(), Hide_cursor, T_Document::magnifier_mode, Main, Menu_is_visible, Menu_Y, Mouse_X, Mouse_Y, Operation_before_interrupt, Operation_pop(), OPERATION_REPLACE, Print_coordinates(), Print_in_menu(), T_Document::separator_position, Set_fore_color(), Start_operation_stack(), and T_Document::X_zoom.
Referenced by Init_operations().
void Brush_12_0 | ( | void | ) |
References Backup(), Config, T_Config::Coords_rel, Display_cursor(), Init_start_operation(), Menu_is_visible, Mouse_K, Operation_push(), Paintbrush_X, Paintbrush_Y, Print_in_menu(), and RIGHT_SIDE.
Referenced by Init_operations().
void Brush_12_5 | ( | void | ) |
References Config, T_Config::Coords_rel, Menu_is_visible, Num2str, Operation_pop(), Operation_push(), Paintbrush_X, Paintbrush_Y, Print_coordinates(), and Print_in_menu().
Referenced by Init_operations().
void Brush_0_5 | ( | void | ) |
References T_Config::Adjust_brush_pick, Brush_offset_X, Brush_offset_Y, Capture_brush(), Config, End_of_modification(), Hide_cursor, Operation_pop(), Operation_stack_size, Paintbrush_X, Paintbrush_Y, Return_to_draw_mode(), Snap_height, Snap_mode, and Snap_width.
Referenced by Init_operations().
void Polybrush_12_8 | ( | void | ) |
References T_Config::Adjust_brush_pick, Brush_offset_X, Brush_offset_Y, Capture_brush_with_lasso(), Config, Display_all_screen(), Display_cursor(), Draw_line_preview_xor(), End_of_modification(), Hide_cursor, Mouse_K, T_Config::Nb_max_vertices_per_polygon, NULL, Operation_pop(), Operation_push(), Paintbrush_hidden, Paintbrush_X, Paintbrush_Y, Polyfill_number_of_points, Polyfill_table_of_points, Print_coordinates(), Return_to_draw_mode(), RIGHT_SIDE, Snap_height, Snap_mode, and Snap_width.
Referenced by Init_operations().
void Stretch_brush_12_0 | ( | void | ) |
void Stretch_brush_1_7 | ( | void | ) |
References T_Config::Adjust_brush_pick, Config, T_Config::Coords_rel, Display_all_screen(), Display_cursor(), Hide_cursor, Menu_is_visible, Num2str, Operation_pop(), Operation_push(), Operation_stack_size, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_in_menu(), Snap_mode, and Stretch_brush_preview().
Referenced by Init_operations().
void Stretch_brush_0_7 | ( | void | ) |
References Brush_height, Brush_width, Config, T_Config::Coords_rel, Display_all_screen(), Display_cursor(), Key_ANSI, Menu_is_visible, Num2str, Operation_pop(), Operation_push(), Operation_stack_size, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_in_menu(), and Stretch_brush_preview().
Referenced by Init_operations().
void Stretch_brush_2_7 | ( | void | ) |
References Display_all_screen(), Operation_pop(), Operation_stack_size, Return_to_draw_mode(), and Stretch_brush().
Referenced by Init_operations().
void Rotate_brush_12_0 | ( | void | ) |
References Brush_rotation_center_is_defined, Brush_rotation_center_X, Brush_rotation_center_Y, Brush_width, Config, T_Config::Coords_rel, Init_start_operation(), LEFT_SIDE, Menu_is_visible, Mouse_K, Operation_before_interrupt, Operation_push(), Paintbrush_X, Paintbrush_Y, Print_in_menu(), Start_operation_stack(), and Wait_end_of_click().
Referenced by Init_operations().
void Rotate_brush_1_5 | ( | void | ) |
References Brush_rotation_center_X, Brush_rotation_center_Y, Clamp_coordinates_regular_angle(), Config, T_Config::Coords_rel, Display_all_screen(), Display_cursor(), Get_Key_modifiers(), GFX2_MOD_SHIFT, M_PI, Menu_is_visible, Operation_pop(), Operation_push(), Operation_stack_size, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_in_menu(), and Rotate_brush_preview().
Referenced by Init_operations().
void Rotate_brush_0_5 | ( | void | ) |
References Brush_rotation_center_X, Brush_rotation_center_Y, Clamp_coordinates_regular_angle(), Config, T_Config::Coords_rel, Display_all_screen(), Display_cursor(), Get_Key_modifiers(), GFX2_MOD_SHIFT, Hide_cursor, Key_ANSI, M_PI, Menu_is_visible, Operation_pop(), Operation_push(), Operation_stack_size, Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_in_menu(), and Rotate_brush_preview().
Referenced by Init_operations().
void Rotate_brush_2_5 | ( | void | ) |
References Brush_rotation_center_X, Brush_rotation_center_Y, Display_all_screen(), M_2PI, Operation_pop(), Operation_stack_size, Return_to_draw_mode(), and Rotate_brush().
Referenced by Init_operations().
void Draw_stretch_spot | ( | short | x_pos, |
short | y_pos | ||
) |
Draws a 2x2 XOR square at the specified picture coordinates, on the screen.
References Limit_left, Limit_top, Limit_visible_bottom, Limit_visible_right, Main, T_Document::offset_X, T_Document::offset_Y, Pixel_preview, Read_pixel, Update_part_of_screen(), and xor_lut.
Referenced by Distort_brush_1_0(), and Distort_brush_1_9().
void Distort_brush_0_0 | ( | void | ) |
References Menu_is_visible, and Print_in_menu().
Referenced by Init_operations().
void Distort_brush_1_0 | ( | void | ) |
References Brush_height, Brush_offset_X, Brush_offset_Y, Brush_width, Config, T_Config::Coords_rel, Display_cursor(), Distort_brush_preview(), Draw_stretch_spot(), Hide_cursor, Init_start_operation(), Menu_is_visible, Operation_push(), Operation_stack, Paintbrush_hidden, Paintbrush_X, Paintbrush_Y, Print_in_menu(), Update_part_of_screen(), and Wait_end_of_click().
Referenced by Init_operations().
void Distort_brush_1_8 | ( | void | ) |
References Config, T_Config::Coords_rel, Distance(), Menu_is_visible, Operation_pop(), Operation_push(), Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_in_menu(), and REACH_DISTANCE.
Referenced by Init_operations().
void Distort_brush_1_9 | ( | void | ) |
References Config, T_Config::Coords_rel, Display_all_screen(), Display_cursor(), Distort_brush_preview(), Draw_stretch_spot(), Hide_cursor, Menu_is_visible, Menu_Y, Operation_pop(), Operation_push(), Paintbrush_X, Paintbrush_Y, Print_coordinates(), Print_in_menu(), Screen_width, and Update_rect().
Referenced by Init_operations().
void Distort_brush_0_9 | ( | void | ) |
References Operation_pop().
Referenced by Init_operations().
void Distort_brush_2_0 | ( | void | ) |
References Config, T_Config::Coords_rel, Display_all_screen(), Menu_is_visible, Paintbrush_hidden, Print_in_menu(), and Return_to_draw_mode().
Referenced by Init_operations().
void Distort_brush_2_8 | ( | void | ) |
References Display_all_screen(), Distort_brush(), Operation_pop(), Paintbrush_hidden, and Return_to_draw_mode().
Referenced by Init_operations().