
life.c,3271
static uint8 bitcount[0x100] = {bitcount14,206
uint32      tick;tick37,1182
boolean     parity;      /* on an odd (1) or even (0) tick? */parity38,1200
uint32      population;population39,1263
uint32      num_cages;num_cages40,1287
char**      pattern_description;pattern_description45,1526
int32       desc_num_lines;desc_num_lines46,1559
cage_type*  active_cages;active_cages51,1641
cage_type*  sleeping_cages;sleeping_cages52,1667
cage_type*  predictable_cages_onscreen;predictable_cages_onscreen53,1695
cage_type*  predictable_cages_offscreen;predictable_cages_offscreen54,1735
static cage_type*  dead_cages;               /* singly-linked list */dead_cages56,1777
static cage_type*  cage_hash[XY_HASH_SIZE];  /* for finding new neighbors */cage_hash57,1847
static uint32      sleeping_population, predictable_population[2];sleeping_population58,1924
static uint32      sleeping_population, predictable_population[2];predictable_population58,1924
static int32       viewport_xstart = -1, viewport_ystart = -1;viewport_xstart62,2108
static int32       viewport_xstart = -1, viewport_ystart = -1;viewport_ystart62,2108
static int32       viewport_xend   = -1, viewport_yend   = -1;viewport_xend63,2171
static int32       viewport_xend   = -1, viewport_yend   = -1;viewport_yend63,2171
void clear_world(void)clear_world90,3384
void clear_cage_list(cage_type** start)clear_cage_list113,4047
void draw_cell(int32 x, int32 y, draw_method_type draw_method)draw_cell127,4299
boolean find_active_cell(int32* x, int32* y)find_active_cell193,6248
load_result_type load_pattern(const char* path, file_format_type* detected_format)load_pattern247,8032
cage_type* loop_cages(void)loop_cages342,11296
cage_type* loop_cages_onscreen(void)loop_cages_onscreen369,12061
void mask_cage(cage_type* cage, uint16 nw_mask, uint16 ne_mask, uint16 sw_mask, uint16 se_mask)mask_cage407,13045
void next_tick(boolean update_display)next_tick437,13911
save_result_type save_pattern(const char* path, file_format_type format)save_pattern704,25532
void set_description(const char* description)set_description737,26623
void set_viewport(int32 xstart, int32 ystart, int32 xend, int32 yend)set_viewport781,27764
static void add_description_line(const char* line)add_description_line815,28866
static cage_type* birth_cage(int32 x, int32 y)birth_cage832,29455
static void clear_description(void)clear_description901,31274
static cage_type* find_cage(int32 x, int32 y)find_cage915,31630
void find_live_cell_in_block(uint16 block, int32 xoff, int32 yoff, int32* x, int32* y)find_live_cell_in_block932,32084
static cage_type* find_rattle_birth(int32 x, int32 y)find_rattle_birth948,32521
static void kill_cage(cage_type* cage)kill_cage963,32840
static void move_cage(cage_type* cage, cage_type** old_list, cage_type** new_list)move_cage1007,33992
static void predict_cage(cage_type* cage)predict_cage1025,34520
static void rattle_cage(cage_type* cage, boolean cage_changed)rattle_cage1041,35383
static void rattle_neighbors(cage_type* cage)rattle_neighbors1073,36704
static void tranquilize_cage(cage_type* cage)tranquilize_cage1136,38425
static void update_onscreen_flag(cage_type* cage)update_onscreen_flag1146,38788

life.h,4186
#define LIFE_HLIFE_H2,15
#define CAGE_SIZE CAGE_SIZE9,91
#define BLOCK_SIZE BLOCK_SIZE10,125
#define WORLD_CAGES WORLD_CAGES11,159
#define WORLD_SIZE WORLD_SIZE12,198
#define MAX_TURNS_STABLE MAX_TURNS_STABLE14,255
#define MAX_TURNS_OSCILLATING MAX_TURNS_OSCILLATING15,289
#define XY_HASH_BITS XY_HASH_BITS17,324
#define XY_HASH_SIZE XY_HASH_SIZE18,358
#define XY_HASH_MASK XY_HASH_MASK19,414
#define NORTH_EDGE_MASK NORTH_EDGE_MASK21,473
#define SOUTH_EDGE_MASK SOUTH_EDGE_MASK22,512
#define WEST_EDGE_MASK WEST_EDGE_MASK23,551
#define EAST_EDGE_MASK EAST_EDGE_MASK24,590
#define NW_CORNER_MASK NW_CORNER_MASK25,629
#define NE_CORNER_MASK NE_CORNER_MASK26,668
#define SW_CORNER_MASK SW_CORNER_MASK27,707
#define SE_CORNER_MASK SE_CORNER_MASK28,746
#define TURNS_STABLE_MASK TURNS_STABLE_MASK30,786
#define TURNS_OSCILLATING_MASK TURNS_OSCILLATING_MASK31,823
#define SLEEPING_MASK SLEEPING_MASK32,860
#define PREDICTABLE_MASK PREDICTABLE_MASK33,897
#define ONSCREEN_MASK ONSCREEN_MASK34,934
#define IS_EMPTY(IS_EMPTY38,991
#define IS_ASLEEP(IS_ASLEEP40,1157
#define SET_ASLEEP(SET_ASLEEP41,1224
#define SET_AWAKE(SET_AWAKE42,1291
#define IS_PREDICTABLE(IS_PREDICTABLE43,1358
#define SET_PREDICTABLE(SET_PREDICTABLE44,1428
#define SET_UNPREDICTABLE(SET_UNPREDICTABLE45,1498
#define IS_ONSCREEN(IS_ONSCREEN46,1568
#define SET_ONSCREEN(SET_ONSCREEN47,1635
#define SET_OFFSCREEN(SET_OFFSCREEN48,1702
#define TURNS_STABLE(TURNS_STABLE49,1769
#define RESET_TURNS_STABLE(RESET_TURNS_STABLE50,1840
#define INC_TURNS_STABLE(INC_TURNS_STABLE51,1911
#define DEC_TURNS_STABLE(DEC_TURNS_STABLE52,1962
#define TURNS_OSCILLATING(TURNS_OSCILLATING53,2013
#define RESET_TURNS_OSCILLATING(RESET_TURNS_OSCILLATING54,2094
#define INC_TURNS_OSCILLATING(INC_TURNS_OSCILLATING55,2170
#define DEC_TURNS_OSCILLATING(DEC_TURNS_OSCILLATING56,2224
#define FIRST_BYTE(FIRST_BYTE58,2279
#define SECOND_BYTE(SECOND_BYTE59,2333
#define POPULATION_COUNT(POPULATION_COUNT61,2392
#define XY_HASH(XY_HASH66,2778
typedef enum {DRAW_SET, DRAW_UNSET}  draw_method_type;DRAW_SET71,2952
typedef enum {DRAW_SET, DRAW_UNSET}  draw_method_type;DRAW_UNSET71,2952
typedef enum {DRAW_SET, DRAW_UNSET}  draw_method_type;draw_method_type71,2952
    LOAD_SUCCESS,LOAD_SUCCESS77,3279
    LOAD_SYS_ERROR,LOAD_SYS_ERROR78,3297
    LOAD_UNRECOGNIZED_FORMAT,LOAD_UNRECOGNIZED_FORMAT79,3317
    LOAD_BAD_GLF_VERSION,LOAD_BAD_GLF_VERSION80,3347
    LOAD_BAD_LIF_VERSION,LOAD_BAD_LIF_VERSION81,3373
    LOAD_STRUCTURED_XLIFELOAD_STRUCTURED_XLIFE82,3399
} load_result_type;load_result_type83,3425
    SAVE_SUCCESS,SAVE_SUCCESS89,3688
    SAVE_SYS_ERROR,SAVE_SYS_ERROR90,3706
    SAVE_DESC_INVALIDSAVE_DESC_INVALID91,3726
}  save_result_type;save_result_type92,3748
typedef struct cage_struct {cage_struct106,4233
    uint32  x, y;    /* start position by blocks */x107,4262
    uint32  x, y;    /* start position by blocks */y107,4262
    uint16  flags;flags108,4314
    uint16  bnw[2], bne[2], bsw[2], bse[2];    /* element 0 on even generations */bnw109,4333
    uint16  bnw[2], bne[2], bsw[2], bse[2];    /* element 0 on even generations */bne109,4333
    uint16  bnw[2], bne[2], bsw[2], bse[2];    /* element 0 on even generations */bsw109,4333
    uint16  bnw[2], bne[2], bsw[2], bse[2];    /* element 0 on even generations */bse109,4333
    struct cage_struct  *north, *south, *west, *east;north110,4416
    struct cage_struct  *north, *south, *west, *east;south110,4416
    struct cage_struct  *north, *south, *west, *east;west110,4416
    struct cage_struct  *north, *south, *west, *east;east110,4416
    struct cage_struct  *nw, *ne, *sw, *se;nw111,4470
    struct cage_struct  *nw, *ne, *sw, *se;ne111,4470
    struct cage_struct  *nw, *ne, *sw, *se;sw111,4470
    struct cage_struct  *nw, *ne, *sw, *se;se111,4470
    struct cage_struct  *next, *prev;next112,4514
    struct cage_struct  *next, *prev;prev112,4514
    struct cage_struct  *hash_next, *hash_prev;hash_next113,4552
    struct cage_struct  *hash_next, *hash_prev;hash_prev113,4552
} cage_type;cage_type114,4600

loadsave.c,2271
loader_function loaders[NUM_FORMATS] = {loaders29,1097
saver_function savers[NUM_FORMATS] = {savers37,1261
static char*  newline;   /* used as the newline sequence when saving */newline47,1450
void load_pattern_glf(FILE* f)load_pattern_glf55,1729
void load_pattern_rle(FILE* f)load_pattern_rle60,1798
void load_pattern_lif_105(FILE* f)load_pattern_lif_10565,1868
void load_pattern_lif_106(FILE* f)load_pattern_lif_10684,2291
void load_pattern_xlife(FILE* f)load_pattern_xlife89,2378
void save_pattern_glf(FILE* f)save_pattern_glf125,3711
void save_pattern_rle(FILE* f)save_pattern_rle134,3892
void save_pattern_lif_105(FILE* f)save_pattern_lif_105142,4023
void save_pattern_lif_106(FILE* f)save_pattern_lif_106152,4230
void save_pattern_xlife(FILE* f)save_pattern_xlife162,4442
boolean process_glf_header(const char* line, int32* startx, int32* starty,process_glf_header176,4907
boolean process_rle_header(const char* line, int32* startx, int32* starty, int32* width,process_rle_header201,5839
static char* load_component_block(FILE* f, int32 xoffset, int32 yoffset)load_component_block227,6656
static char* load_component_coordinates(FILE* f, int32 xoffset, int32 yoffset, boolean until_eof)load_component_coordinates256,7566
static void load_component_rle(FILE* f, boolean use_glf_format)load_component_rle279,8187
static void save_component_blocks(FILE* f)save_component_blocks333,9744
static void save_component_coordinates(FILE* f)save_component_coordinates383,11444
static void save_component_description(FILE* f, char prefix_char)save_component_description400,12084
static void save_component_rle(FILE* f, boolean use_glf_format)save_component_rle415,12590
static void get_block_text(uint16 block, char buf[8][9], int32 xoffset, int32 yoffset)get_block_text593,18679
static int rle_compare(const void* cage1, const void* cage2)rle_compare606,19053
static void rle_add_row(FILE* f, uint16 block, int32 bit_row, int32 first_bit)rle_add_row629,19639
static void rle_add(FILE* f, char obj, uint32 count)rle_add650,20243
static void rle_output(FILE* f, char obj, uint32 count)rle_output689,21263
static void save_block_coordinates(FILE* f, uint16 block, int32 startx, int32 starty)save_block_coordinates717,22003

loadsave.h,1004
#define LOAD_SAVE_HLOAD_SAVE_H2,20
#define GLF_VERSION GLF_VERSION8,79
#define RLE_MAX_COLS RLE_MAX_COLS12,244
#define RLE_DESC_MAX_COLS RLE_DESC_MAX_COLS13,276
#define LIF_MAX_COLS LIF_MAX_COLS14,322
#define LIF_DESC_MAX_COLS LIF_DESC_MAX_COLS15,354
#define LIF_DESC_MAX_LINES LIF_DESC_MAX_LINES16,400
    FORMAT_GLF,FORMAT_GLF22,501
    FORMAT_RLE,FORMAT_RLE23,517
    FORMAT_LIF_105,FORMAT_LIF_10524,533
    FORMAT_LIF_106,FORMAT_LIF_10625,553
    FORMAT_XLIFE,FORMAT_XLIFE26,573
    NUM_FORMATSNUM_FORMATS28,592
} file_format_type;file_format_type29,608
typedef void (*loader_function)(FILE* f);loader_function34,683
typedef void (*saver_function)(FILE* f);saver_function35,725
typedef struct rle_cage_struct {rle_cage_struct38,824
    uint16  x, y;x39,857
    uint16  x, y;y39,857
    uint16  nw, ne, sw, se;nw40,875
    uint16  nw, ne, sw, se;ne40,875
    uint16  nw, ne, sw, se;sw40,875
    uint16  nw, ne, sw, se;se40,875
} rle_cage;rle_cage41,903

gtklife.c,23828
static point  null_point = {-1, -1};null_point28,447
static rect   null_rect  = {{-1, -1}, {-1, -1}};null_rect29,484
char* file_format_names[NUM_FORMATS] = {"GLF (GtkLife)", "RLE", "Life 1.05", "Life 1.06", "XLife"};file_format_names31,534
char* default_file_extensions[]      = {"glf", "rle", "lif", "l", NULL};default_file_extensions32,634
char* color_names[NUM_COLORS]        = {"background", "live cells", "grid", "selection"};color_names33,707
static command_type  component_toggle_commands[NUM_COMPONENTS] = {component_toggle_commands35,798
static char*  component_short_names[NUM_COMPONENTS] = {component_short_names42,981
static char*  component_full_names[NUM_COMPONENTS] = {component_full_names49,1105
pattern_coll  pattern_collections[NUM_COLLECTIONS] = {pattern_collections56,1229
help_browser  help_browsers[NUM_HELP_BROWSERS] = {help_browsers62,1387
command_info_type command_info[NUM_COMMANDS] = {command_info79,1990
#define H H148,4398
static GtkItemFactoryEntry menu_items[] = {menu_items149,4434
#undef HH234,12388
static toolbar_button toolbar_buttons[] = {toolbar_buttons239,12455
static char*  user_dir = NULL;user_dir269,13925
    char*            last_version;last_version273,13991
    char*            default_collection;default_collection274,14026
    int32            default_window_width;default_window_width275,14067
    int32            default_window_height;default_window_height276,14110
    int32            default_zoom;default_zoom277,14154
    boolean          default_visible_components[NUM_COMPONENTS];default_visible_components278,14189
    boolean          default_fullscreen;default_fullscreen279,14254
    uint32           colors[NUM_COLORS];colors280,14295
    int32            default_speed;default_speed281,14336
    int32            speed_slider_min;speed_slider_min282,14372
    int32            speed_slider_max;speed_slider_max283,14411
    int32            speed_increment;speed_increment284,14450
    boolean          default_skip_frames;default_skip_frames285,14488
    char*            help_browser;help_browser286,14530
} config = {config287,14565
    char*             home_dir;home_dir307,15113
    char*             pattern_path;pattern_path308,15145
    file_format_type  file_format;file_format309,15181
    char*             current_collection;current_collection310,15216
    coll_status_type  collection_status;collection_status311,15258
    char*             current_dir;current_dir312,15299
    pattern_file*     sidebar_files;sidebar_files313,15334
    int32             num_sidebar_files;num_sidebar_files314,15371
    pattern_file*     sub_sidebar_files;sub_sidebar_files315,15412
    int32             num_sub_sidebar_files;num_sub_sidebar_files316,15453
    recent_file       recent_files[MAX_RECENT_FILES];recent_files317,15498
    boolean  pattern_running;pattern_running320,15585
    int32    speed;speed321,15615
    boolean  skip_frames;skip_frames322,15635
    uint32   start_tick;start_tick323,15661
    uint64   start_time;start_time324,15686
    int32    skipped_frames;skipped_frames325,15711
    boolean  jump_cancelled;jump_cancelled326,15740
    tracking_mouse_type  tracking_mouse;tracking_mouse329,15841
    boolean     select_mode;select_mode330,15882
    point       last_drawn;last_drawn331,15911
    rect        selection;selection332,15939
    uint64      selection_start_time;selection_start_time333,15966
    cage_type*  copy_buffer;copy_buffer334,16004
    rect        copy_rect;copy_rect335,16033
    rect        paste_box;paste_box336,16060
    boolean     moving;moving337,16087
    boolean     temp_message_active;temp_message_active340,16157
    uint64      temp_message_start_time;temp_message_start_time341,16194
    char*       original_message;original_message342,16235
} state;state343,16269
    int32        zoom;zoom348,16400
    dimension    canvas_size;canvas_size352,16527
    dimension    eff_canvas_size;   /* "effective" canvas size--minus any unused space */eff_canvas_size353,16557
    dimension    viewport_sizes[MAX_ZOOM+1];viewport_sizes354,16647
    dimension    viewport_size;viewport_size355,16692
    rect         viewport;viewport356,16724
    rect         update;update359,16792
    uint8*       life_pixmap;life_pixmap362,16850
    uint32       life_pixmap_alloc_len;life_pixmap_alloc_len363,16880
    GdkRgbCmap*  life_pixmap_colormap;life_pixmap_colormap364,16920
    boolean      visible_components[NUM_COMPONENTS];visible_components367,17005
    boolean      sub_sidebar_visible;sub_sidebar_visible368,17058
    boolean      fullscreen;fullscreen369,17096
} dstate;dstate370,17125
    GtkWidget*   window;window374,17193
    GtkWidget*   menubar;menubar375,17218
    GtkTooltips* menu_tooltips;menu_tooltips376,17244
    GtkWidget*   toolbar;toolbar377,17276
    GtkWidget*   sidebar;sidebar378,17302
    GtkWidget*   main_sidebar;main_sidebar379,17328
    GtkWidget*   sub_sidebar;sub_sidebar380,17359
    GtkWidget*   patterns_clist;patterns_clist381,17389
    GtkWidget*   sub_patterns_clist;sub_patterns_clist382,17422
    GtkWidget*   canvas;canvas383,17459
    GtkWidget*   vscrollbar;vscrollbar384,17484
    GtkWidget*   hscrollbar;hscrollbar385,17513
    GtkWidget*   statusbar;statusbar386,17542
    GtkWidget*   recent_files_separator;recent_files_separator387,17570
    GtkWidget*   start_stop_menu_label;start_stop_menu_label388,17611
    GtkWidget*   start_pixmap;start_pixmap389,17651
    GtkWidget*   stop_pixmap;stop_pixmap390,17682
    GtkWidget*   speed_label;speed_label391,17712
    GtkWidget*   speed_slider;speed_slider392,17742
    GtkWidget*   hover_point_label;hover_point_label393,17773
    GtkWidget*   status_message_label;status_message_label394,17809
    GtkWidget*   tick_label;tick_label395,17848
    GtkWidget*   population_label;population_label396,17877
    command_widgets_type   command_widgets[NUM_COMMANDS];command_widgets397,17912
    GtkWidget*   description_dialog;description_dialog399,17971
    GtkWidget*   description_textbox;description_textbox400,18008
} gui;gui401,18046
int main(int argc, char *argv[])main405,18070
void usage_abort(void)usage_abort448,19422
void main_loop(void)main_loop458,19625
void tick_and_update(void)tick_and_update480,20606
void create_user_dir(void)create_user_dir512,21573
void load_preferences(void)load_preferences523,21850
void apply_defaults(void)apply_defaults608,24924
void load_keybindings(void)load_keybindings636,25871
void load_recent_files_list(void)load_recent_files_list656,26315
void save_preferences(void)save_preferences684,27064
void save_keybindings(void)save_keybindings726,28742
void save_recent_files_list(void)save_recent_files_list742,29071
void file_new(void)file_new763,29603
void file_open(void)file_open782,30146
void file_reopen(void)file_reopen796,30790
void file_save(void)file_save801,30864
void file_save_as(void)file_save_as809,31020
void file_description(void)file_description855,32935
void file_change_collection(void)file_change_collection899,34657
void file_recent(GtkMenuItem* menu_item, gpointer user_data)file_recent978,38097
void file_quit(void)file_quit989,38364
void view_zoom_in(void)view_zoom_in997,38481
void view_zoom_out(void)view_zoom_out1008,38739
void view_zoom_1(void)view_zoom_11019,38998
void view_zoom_2(void)view_zoom_21024,39044
void view_zoom_4(void)view_zoom_41029,39090
void view_zoom_8(void)view_zoom_81034,39136
void view_zoom_16(void)view_zoom_161039,39182
void view_scroll_left(void)view_scroll_left1044,39230
void view_scroll_right(void)view_scroll_right1049,39308
void view_scroll_up(void)view_scroll_up1054,39386
void view_scroll_down(void)view_scroll_down1059,39462
void view_scroll_nw(void)view_scroll_nw1064,39539
void view_scroll_ne(void)view_scroll_ne1069,39616
void view_scroll_sw(void)view_scroll_sw1074,39692
void view_scroll_se(void)view_scroll_se1079,39768
void view_scroll_page_left(void)view_scroll_page_left1084,39843
void view_scroll_page_right(void)view_scroll_page_right1089,39926
void view_scroll_page_up(void)view_scroll_page_up1094,40009
void view_scroll_page_down(void)view_scroll_page_down1099,40090
void view_scroll_page_nw(void)view_scroll_page_nw1104,40172
void view_scroll_page_ne(void)view_scroll_page_ne1109,40254
void view_scroll_page_sw(void)view_scroll_page_sw1114,40335
void view_scroll_page_se(void)view_scroll_page_se1119,40416
void view_recenter(void)view_recenter1124,40496
void view_goto(void)view_goto1134,40669
void view_find_active_cells(void)view_find_active_cells1183,42822
void view_show_toolbar(void)view_show_toolbar1195,43055
void view_show_sidebar(void)view_show_sidebar1200,43123
void view_show_scrollbars(void)view_show_scrollbars1205,43191
void view_show_statusbar(void)view_show_statusbar1210,43265
void view_fullscreen(void)view_fullscreen1215,43337
void edit_drawing_tool(void)edit_drawing_tool1242,44272
void edit_selection_tool(void)edit_selection_tool1250,44558
void edit_cut(void)edit_cut1258,44848
void edit_copy(void)edit_copy1266,45001
void edit_clear(void)edit_clear1272,45098
void edit_paste(void)edit_paste1280,45254
void edit_move(void)edit_move1301,45961
void edit_cancel_paste(void)edit_cancel_paste1310,46077
void edit_preferences(void)edit_preferences1315,46139
void run_start_stop(void)run_start_stop1635,60808
void run_step(void)run_step1647,61051
void run_jump(void)run_jump1653,61135
void run_faster(void)run_faster1681,62178
void run_slower(void)run_slower1686,62258
void run_speed(void)run_speed1691,62338
void help_help(void)help_help1734,64152
void help_pattern_archive(void)help_pattern_archive1739,64212
void help_glf_file_format(void)help_glf_file_format1744,64286
void help_about(void)help_about1749,64362
void file_save_as_confirm_overwrite(GtkWidget* file_selector) {file_save_as_confirm_overwrite1792,65872
void file_description_perform(void)file_description_perform1818,66814
boolean file_change_collection_perform(collection_dialog_info* info)file_change_collection_perform1830,67134
void view_zoom(int32 new_zoom)view_zoom1866,68236
void view_show(component_type component)view_show1901,69370
void view_scroll_generic(int32 xdir, int32 ydir, int32 how_far)view_scroll_generic1935,70685
void edit_paste_win_style(const point* pt)edit_paste_win_style1963,71523
void edit_paste_unix_style(const point* pt)edit_paste_unix_style1978,71900
boolean edit_paste_verify_target(const point* pt)edit_paste_verify_target1998,72513
void edit_paste_perform(const point* pt)edit_paste_perform2011,72915
boolean edit_preferences_perform(prefs_dialog_info* info)edit_preferences_perform2050,74361
void help_view_page(const char* filename)help_view_page2200,80476
void pick_help_browser(const char *helpfile)pick_help_browser2228,81213
GtkWidget* create_help_browser_table(GtkWidget* radio_buttons[], GtkWidget** custom_browser_entry)create_help_browser_table2264,82851
void init_gui(void)init_gui2330,85608
void init_rgb(void)init_rgb2392,87559
void init_window(void)init_window2402,87843
void init_menubar(GtkWidget* containing_box)init_menubar2416,88383
void init_toolbar(GtkWidget* containing_box)init_toolbar2503,92249
void init_sensitivities(void)init_sensitivities2565,94887
void init_speed_box(GtkWidget* containing_box)init_speed_box2577,95162
void init_sidebar(GtkWidget* containing_box)init_sidebar2611,96614
void init_canvas(GtkWidget* containing_box)init_canvas2665,98655
void init_statusbar(GtkWidget* containing_box)init_statusbar2720,101221
void init_tick_display(GtkWidget* containing_box)init_tick_display2756,102440
void init_population_display(GtkWidget* containing_box)init_population_display2766,102836
void handle_menu_item_activate(gpointer callback_data, guint callback_action, GtkWidget *widget)handle_menu_item_activate2779,103353
void handle_toolbar_click(GtkButton* button, gpointer user_data)handle_toolbar_click2795,103915
gboolean handle_canvas_expose(GtkWidget *widget, GdkEventExpose *event, gpointer user_data)handle_canvas_expose2803,104171
gboolean handle_canvas_resize(GtkWidget* widget, GdkEventConfigure* event, gpointer user_data)handle_canvas_resize2818,104975
void handle_child_window_realize(GtkWidget* child, gpointer user_data)handle_child_window_realize2876,107289
gboolean handle_desc_box_mouse_scroll(GtkWidget* widget, GdkEventScroll* event, gpointer user_data)handle_desc_box_mouse_scroll2903,108012
gboolean handle_desc_box_mouse_scroll(GtkWidget* widget, GdkEventButton* event, gpointer user_data)handle_desc_box_mouse_scroll2916,108493
void handle_main_window_destroy(GtkObject* object, gpointer user_data)handle_main_window_destroy2934,109021
void handle_mouse_movement(void)handle_mouse_movement2942,109250
gboolean handle_mouse_press(GtkWidget* widget, GdkEventButton* event, gpointer user_data)handle_mouse_press3008,111688
gboolean handle_mouse_release(GtkWidget* widget, GdkEventButton* event, gpointer user_data)handle_mouse_release3055,113359
gboolean handle_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)handle_key_press3076,114196
gboolean handle_key_release(GtkWidget *widget, GdkEventKey *event, gpointer user_data)handle_key_release3085,114553
gboolean handle_mouse_scroll(GtkWidget* widget, GdkEventScroll* event, gpointer user_data)handle_mouse_scroll3093,114813
void handle_hscrollbar_change(GtkAdjustment* adjustment, gpointer user_data)handle_hscrollbar_change3131,115836
void handle_vscrollbar_change(GtkAdjustment* adjustment, gpointer user_data)handle_vscrollbar_change3144,116211
void handle_sidebar_select(GtkCList* clist, gint row, gint column, GdkEventButton* event,handle_sidebar_select3155,116530
void handle_sidebar_header_click(GtkCList* clist, gint column, gpointer user_data)handle_sidebar_header_click3190,117786
void handle_speed_slider_change(GtkAdjustment* adjustment, gpointer user_data)handle_speed_slider_change3198,118094
void file_open_ok(GtkButton* button, gpointer user_data)file_open_ok3210,118465
void file_save_as_ok(GtkButton* button, gpointer user_data)file_save_as_ok3225,118939
void file_save_as_confirm_ok(GtkButton* button, gpointer user_data)file_save_as_confirm_ok3242,119549
void file_description_ok(GtkButton* button, gpointer user_data)file_description_ok3274,120688
void file_description_apply(GtkButton* button, gpointer user_data)file_description_apply3282,120917
void file_description_destroy(GtkObject* object, gpointer user_data)file_description_destroy3288,121072
void file_change_collection_ok(GtkButton* button, gpointer user_data)file_change_collection_ok3294,121281
void file_change_collection_enter(GtkEditable* editable, gpointer user_data)file_change_collection_enter3306,121674
void file_change_collection_apply(GtkButton* button, gpointer user_data)file_change_collection_apply3312,121879
void file_change_collection_destroy(GtkObject* object, gpointer user_data)file_change_collection_destroy3318,122110
void file_change_coll_toggle_custom(GtkToggleButton* toggle, gpointer user_data)file_change_coll_toggle_custom3326,122336
void file_change_coll_select_custom(GtkButton* button, gpointer user_data)file_change_coll_select_custom3340,122850
void file_change_coll_select_custom_ok(GtkButton* button, gpointer user_data) {file_change_coll_select_custom_ok3372,124221
void view_goto_ok(GtkButton* button, gpointer user_data)view_goto_ok3384,124748
void view_goto_enter(GtkEditable* editable, gpointer user_data)view_goto_enter3393,125054
void view_goto_apply(GtkButton* button, gpointer user_data)view_goto_apply3399,125226
void view_goto_destroy(GtkObject* object, gpointer user_data)view_goto_destroy3418,125849
void edit_preferences_ok(GtkButton* button, gpointer user_data)edit_preferences_ok3424,126004
void edit_preferences_apply(GtkButton* button, gpointer user_data)edit_preferences_apply3434,126296
void edit_preferences_destroy(GtkObject* object, gpointer user_data)edit_preferences_destroy3440,126504
void prefs_toggle_custom_collection(GtkToggleButton* toggle, gpointer user_data)prefs_toggle_custom_collection3453,126860
void prefs_select_custom_collection(GtkButton* button, gpointer user_data)prefs_select_custom_collection3465,127350
void prefs_select_custom_collection_ok(GtkButton* button, gpointer user_data)prefs_select_custom_collection_ok3496,128691
void prefs_select_color(GtkButton* button, gpointer user_data)prefs_select_color3509,129237
void prefs_select_color_ok(GtkButton* button, gpointer user_data)prefs_select_color_ok3551,131079
void prefs_default_color(GtkButton* button, gpointer user_data)prefs_default_color3572,131960
void prefs_toggle_custom_browser(GtkToggleButton* toggle, gpointer user_data)prefs_toggle_custom_browser3585,132411
void run_jump_ok(GtkButton* widget, gpointer user_data)run_jump_ok3596,132783
void run_jump_enter(GtkEditable* editable, gpointer user_data)run_jump_enter3694,136187
void run_jump_stop(GtkObject* object, gpointer user_data)run_jump_stop3702,136397
void run_speed_ok(GtkButton* button, gpointer user_data)run_speed_ok3709,136562
void run_speed_enter(GtkEditable* editable, gpointer user_data)run_speed_enter3718,136852
void run_speed_apply(GtkButton* button, gpointer user_data)run_speed_apply3725,137121
void run_speed_destroy(GtkObject* object, gpointer user_data)run_speed_destroy3735,137483
void pick_browser_ok(GtkButton* button, gpointer user_data)pick_browser_ok3741,137639
void pick_browser_destroy(GtkObject* object, gpointer user_data)pick_browser_destroy3780,138938
void pick_browser_toggle_custom(GtkToggleButton* toggle, gpointer user_data)pick_browser_toggle_custom3786,139125
void draw_life_pixmap(void)draw_life_pixmap3800,139577
void draw_grid_and_boxes(void)draw_grid_and_boxes3827,140444
void draw_screen_box(const rect* box)draw_screen_box3851,141303
void draw_life_block(uint16 block, int32 xstart, int32 ystart, boolean full_update)draw_life_block3905,143277
void user_draw(const point* pt)user_draw3991,146649
void draw_from_to(const point* start, const point* end)draw_from_to4037,148131
void adjust_scrollbars(void)adjust_scrollbars4079,149236
void adjust_scrollbar_values(void)adjust_scrollbar_values4103,150502
void setup_child_window(GtkWidget* child)setup_child_window4117,151068
GtkWidget* create_dialog(const char* title, gpointer info, GtkSignalFunc destroy_handler,create_dialog4141,152116
void error_dialog(const char* format, ...)error_dialog4188,153978
void force_sidebar_resize(void)force_sidebar_resize4216,154971
void full_canvas_redraw(void)full_canvas_redraw4235,155538
void put_filename_in_window_title(void)put_filename_in_window_title4243,155759
void restore_status_message(void)restore_status_message4254,156047
void set_command_sensitivity(command_type cmd, boolean sensitive)set_command_sensitivity4265,156402
void set_cursor(GdkCursorType type)set_cursor4274,156734
void set_effective_canvas_size(void)set_effective_canvas_size4288,157060
void set_speed_label_size(int32 max_speed)set_speed_label_size4300,157579
void set_status_message(char* msg, boolean is_temporary)set_status_message4323,158300
void set_viewport_position(const point* pt, boolean center_around)set_viewport_position4348,159263
void set_zoom_sensitivities(void)set_zoom_sensitivities4379,160625
void trigger_canvas_update(void)trigger_canvas_update4392,161235
void update_description_textbox(boolean first_time)update_description_textbox4406,161705
void update_hover_point_label(const point* mouse_pointer)update_hover_point_label4456,163378
void update_population_label(void)update_population_label4473,163960
void update_sidebar_contents(void)update_sidebar_contents4482,164173
void update_sub_sidebar_contents(int32 sidebar_selection)update_sub_sidebar_contents4490,164481
void update_sidebar_generic(boolean is_main_sidebar, const char* new_dir)update_sidebar_generic4509,165186
void update_tick_label(void)update_tick_label4553,166651
GtkWidget* create_spinbox(int32 init_value, int32 min, int32 max)create_spinbox4563,166895
void add_to_recent_files(void)add_to_recent_files4587,167701
boolean attempt_load_pattern(const char* path)attempt_load_pattern4667,171026
boolean attempt_save_pattern(const char* path, file_format_type format)attempt_save_pattern4743,173651
void activate_selection(const point* pt)activate_selection4789,175431
void clear_pattern_list(pattern_file** patterns, int32* num_patterns)clear_pattern_list4805,175897
void deactivate_selection(boolean redraw)deactivate_selection4821,176305
void deactivate_paste(boolean redraw)deactivate_paste4840,176867
char* find_life_file(const char* path)find_life_file4856,177446
int32 get_component_by_short_name(const char* name)get_component_by_short_name4877,177980
void get_component_widgets(component_type component, GtkWidget** widget1, GtkWidget** widget2)get_component_widgets4888,178191
void get_logical_coords(const point* p, point* logical_p)get_logical_coords4901,178874
void get_screen_coords(const point* p, point* screen_p)get_screen_coords4925,179745
void get_screen_rectangle(const rect* r, rect* screen_r)get_screen_rectangle4941,180247
void load_pattern_directory(const char* dir, boolean include_subdirs, pattern_file** patterns,load_pattern_directory4955,180915
void reset_fps_measure(void)reset_fps_measure5028,183274
void screen_box_update(rect* oldr, const rect* newr, boolean redraw)screen_box_update5040,183708
void selection_copy_clear(boolean copy, boolean clear)selection_copy_clear5097,185440
void set_collection_dir(const char* path, boolean have_gui)set_collection_dir5171,188691
void set_current_dir_from_file(const char* filepath)set_current_dir_from_file5186,189221
void set_pattern_title(pattern_file* file)set_pattern_title5206,189853
void set_speed(int32 new_speed)set_speed5231,190540
void sidebar_unselect(void)sidebar_unselect5255,191306
void start_stop(void)start_stop5270,191797
boolean last_version_atleast(double req_version)last_version_atleast5304,192909
char* validate_collection_dir(const char* path, boolean have_gui)validate_collection_dir5313,193228
boolean validate_and_set_collection_dir(const char* path, boolean have_gui)validate_and_set_collection_dir5343,194282
void alpha_blend(uint8* rgb1, const uint8* rgb2, int32 opacity)alpha_blend5360,194786
char* append_trailing_slash(const char* path)append_trailing_slash5372,195239
char* get_canonical_path(const char* path)get_canonical_path5385,195880
char* get_home_directory(void)get_home_directory5461,198261
void get_rect_dimensions(const rect* r, dimension* dim)get_rect_dimensions5477,198759
uint64 get_time_milliseconds(void)get_time_milliseconds5485,198972
char* join_path(const char* dir, const char* file)join_path5496,199227
GtkWidget* load_pixmap_from_xpm_file(const char* path)load_pixmap_from_xpm_file5506,199481
GtkWidget* load_pixmap_from_rgba_array(uint8* pixels, int32 width, int32 height, GdkColor* bg)load_pixmap_from_rgba_array5520,199934
void normalize_rectangle(rect* r)normalize_rectangle5544,200837
boolean points_identical(const point* p1, const point* p2)points_identical5556,201090
int32 qsort_pattern_files(const void* pat1, const void* pat2)qsort_pattern_files5563,201282
boolean rects_identical(const rect* p1, const rect* p2)rects_identical5570,201505
char* remove_underscore(const char* str)remove_underscore5579,201791
void split_path(const char* path, char** dir, char** file)split_path5598,202316

gtklife.h,13897
#define GTKLIFE_HGTKLIFE_H2,18
#define PROG PROG11,111
#define TITLE TITLE12,139
#define USER_DIR USER_DIR13,167
#define HELP_BROWSER_PARAM HELP_BROWSER_PARAM15,197
#define INIT_X_CENTER INIT_X_CENTER16,236
#define INIT_Y_CENTER INIT_Y_CENTER17,287
#define MAX_RECENT_FILES MAX_RECENT_FILES18,338
#define MAX_SKIPPED_FRAMES MAX_SKIPPED_FRAMES19,374
#define MAX_SPEED MAX_SPEED20,411
#define MAX_ZOOM MAX_ZOOM21,451
#define MIN_ZOOM MIN_ZOOM22,488
#define RECENT_FILES_INSERT_POS RECENT_FILES_INSERT_POS23,524
#define STATUS_MESSAGE_COLOR STATUS_MESSAGE_COLOR24,561
#define TABLE_OPTS TABLE_OPTS25,604
#define TEMP_MESSAGE_INTERVAL TEMP_MESSAGE_INTERVAL26,662
#define FILE_LOADED_MESSAGE FILE_LOADED_MESSAGE28,729
#define FILE_SAVED_MESSAGE FILE_SAVED_MESSAGE29,790
#define FULLSCREEN_MESSAGE FULLSCREEN_MESSAGE30,850
#define PASTING_MESSAGE PASTING_MESSAGE31,919
#define MOVING_MESSAGE MOVING_MESSAGE32,981
#define SCROLL_STEP SCROLL_STEP34,1043
#define SCROLL_PAGE SCROLL_PAGE35,1067
#define DEFAULT_COLLECTION DEFAULT_COLLECTION39,1122
#define DEFAULT_WINDOW_WIDTH DEFAULT_WINDOW_WIDTH41,1177
#define DEFAULT_WINDOW_HEIGHT DEFAULT_WINDOW_HEIGHT42,1216
#define DEFAULT_WINDOW_WIDTH DEFAULT_WINDOW_WIDTH44,1260
#define DEFAULT_WINDOW_HEIGHT DEFAULT_WINDOW_HEIGHT45,1298
#define DEFAULT_ZOOM DEFAULT_ZOOM47,1343
#define DEFAULT_SHOW_TOOLBAR DEFAULT_SHOW_TOOLBAR48,1379
#define DEFAULT_SHOW_SIDEBAR DEFAULT_SHOW_SIDEBAR49,1418
#define DEFAULT_SHOW_SCROLLBARS DEFAULT_SHOW_SCROLLBARS50,1457
#define DEFAULT_SHOW_STATUSBAR DEFAULT_SHOW_STATUSBAR51,1496
#define DEFAULT_FULLSCREEN DEFAULT_FULLSCREEN52,1535
#define DEFAULT_BG_COLOR DEFAULT_BG_COLOR53,1575
#define DEFAULT_CELL_COLOR DEFAULT_CELL_COLOR54,1618
#define DEFAULT_GRID_COLOR DEFAULT_GRID_COLOR55,1661
#define DEFAULT_SELECT_COLOR DEFAULT_SELECT_COLOR56,1704
#define DEFAULT_SPEED DEFAULT_SPEED57,1747
#define DEFAULT_SPEED_SLIDER_MIN DEFAULT_SPEED_SLIDER_MIN58,1784
#define DEFAULT_SPEED_SLIDER_MAX DEFAULT_SPEED_SLIDER_MAX59,1820
#define DEFAULT_SPEED_INCREMENT DEFAULT_SPEED_INCREMENT60,1859
#define DEFAULT_SKIP_FRAMES DEFAULT_SKIP_FRAMES61,1896
enum color_index_enum  {BG_COLOR_INDEX, CELL_COLOR_INDEX, GRID_COLOR_INDEX, SELECT_COLOR_INDEX,color_index_enum65,1956
enum color_index_enum  {BG_COLOR_INDEX, CELL_COLOR_INDEX, GRID_COLOR_INDEX, SELECT_COLOR_INDEX,BG_COLOR_INDEX65,1956
enum color_index_enum  {BG_COLOR_INDEX, CELL_COLOR_INDEX, GRID_COLOR_INDEX, SELECT_COLOR_INDEX,CELL_COLOR_INDEX65,1956
enum color_index_enum  {BG_COLOR_INDEX, CELL_COLOR_INDEX, GRID_COLOR_INDEX, SELECT_COLOR_INDEX,GRID_COLOR_INDEX65,1956
enum color_index_enum  {BG_COLOR_INDEX, CELL_COLOR_INDEX, GRID_COLOR_INDEX, SELECT_COLOR_INDEX,SELECT_COLOR_INDEX65,1956
                        NUM_COLORS};NUM_COLORS66,2052
typedef enum tracking_mouse_enum {NORMAL, DRAWING, SELECTING, PASTING} tracking_mouse_type;tracking_mouse_enum68,2090
typedef enum tracking_mouse_enum {NORMAL, DRAWING, SELECTING, PASTING} tracking_mouse_type;NORMAL68,2090
typedef enum tracking_mouse_enum {NORMAL, DRAWING, SELECTING, PASTING} tracking_mouse_type;DRAWING68,2090
typedef enum tracking_mouse_enum {NORMAL, DRAWING, SELECTING, PASTING} tracking_mouse_type;SELECTING68,2090
typedef enum tracking_mouse_enum {NORMAL, DRAWING, SELECTING, PASTING} tracking_mouse_type;PASTING68,2090
typedef enum tracking_mouse_enum {NORMAL, DRAWING, SELECTING, PASTING} tracking_mouse_type;tracking_mouse_type68,2090
typedef enum coll_status_enum {COLL_OKAY, COLL_BAD, COLL_DEFAULT_BAD} coll_status_type;coll_status_enum70,2183
typedef enum coll_status_enum {COLL_OKAY, COLL_BAD, COLL_DEFAULT_BAD} coll_status_type;COLL_OKAY70,2183
typedef enum coll_status_enum {COLL_OKAY, COLL_BAD, COLL_DEFAULT_BAD} coll_status_type;COLL_BAD70,2183
typedef enum coll_status_enum {COLL_OKAY, COLL_BAD, COLL_DEFAULT_BAD} coll_status_type;COLL_DEFAULT_BAD70,2183
typedef enum coll_status_enum {COLL_OKAY, COLL_BAD, COLL_DEFAULT_BAD} coll_status_type;coll_status_type70,2183
typedef enum item_enum {item_enum72,2272
    ITEM_NORMAL,ITEM_NORMAL73,2297
    ITEM_CHECK,ITEM_CHECK74,2314
    ITEM_RADIOITEM_RADIO75,2330
} item_type;item_type76,2345
typedef enum command_enum {command_enum78,2359
    CMD_FILE_NEW,CMD_FILE_NEW79,2387
    CMD_FILE_OPEN,CMD_FILE_OPEN80,2405
    CMD_FILE_REOPEN,CMD_FILE_REOPEN81,2424
    CMD_FILE_SAVE,CMD_FILE_SAVE82,2445
    CMD_FILE_SAVE_AS,CMD_FILE_SAVE_AS83,2464
    CMD_FILE_DESCRIPTION,CMD_FILE_DESCRIPTION84,2486
    CMD_FILE_CHANGE_COLLECTION,CMD_FILE_CHANGE_COLLECTION85,2512
    CMD_FILE_QUIT,CMD_FILE_QUIT86,2544
    CMD_VIEW_ZOOM_IN,CMD_VIEW_ZOOM_IN88,2564
    CMD_VIEW_ZOOM_OUT,CMD_VIEW_ZOOM_OUT89,2586
    CMD_VIEW_ZOOM_1,CMD_VIEW_ZOOM_190,2609
    CMD_VIEW_ZOOM_2,CMD_VIEW_ZOOM_291,2630
    CMD_VIEW_ZOOM_4,CMD_VIEW_ZOOM_492,2651
    CMD_VIEW_ZOOM_8,CMD_VIEW_ZOOM_893,2672
    CMD_VIEW_ZOOM_16,CMD_VIEW_ZOOM_1694,2693
    CMD_VIEW_SCROLL_LEFT,CMD_VIEW_SCROLL_LEFT95,2715
    CMD_VIEW_SCROLL_RIGHT,CMD_VIEW_SCROLL_RIGHT96,2741
    CMD_VIEW_SCROLL_UP,CMD_VIEW_SCROLL_UP97,2768
    CMD_VIEW_SCROLL_DOWN,CMD_VIEW_SCROLL_DOWN98,2792
    CMD_VIEW_SCROLL_NW,CMD_VIEW_SCROLL_NW99,2818
    CMD_VIEW_SCROLL_NE,CMD_VIEW_SCROLL_NE100,2842
    CMD_VIEW_SCROLL_SW,CMD_VIEW_SCROLL_SW101,2866
    CMD_VIEW_SCROLL_SE,CMD_VIEW_SCROLL_SE102,2890
    CMD_VIEW_SCROLL_PAGE_LEFT,CMD_VIEW_SCROLL_PAGE_LEFT103,2914
    CMD_VIEW_SCROLL_PAGE_RIGHT,CMD_VIEW_SCROLL_PAGE_RIGHT104,2945
    CMD_VIEW_SCROLL_PAGE_UP,CMD_VIEW_SCROLL_PAGE_UP105,2977
    CMD_VIEW_SCROLL_PAGE_DOWN,CMD_VIEW_SCROLL_PAGE_DOWN106,3006
    CMD_VIEW_SCROLL_PAGE_NW,CMD_VIEW_SCROLL_PAGE_NW107,3037
    CMD_VIEW_SCROLL_PAGE_NE,CMD_VIEW_SCROLL_PAGE_NE108,3066
    CMD_VIEW_SCROLL_PAGE_SW,CMD_VIEW_SCROLL_PAGE_SW109,3095
    CMD_VIEW_SCROLL_PAGE_SE,CMD_VIEW_SCROLL_PAGE_SE110,3124
    CMD_VIEW_RECENTER,CMD_VIEW_RECENTER111,3153
    CMD_VIEW_GOTO,CMD_VIEW_GOTO112,3176
    CMD_VIEW_FIND_ACTIVE_CELLS,CMD_VIEW_FIND_ACTIVE_CELLS113,3195
    CMD_VIEW_SHOW_TOOLBAR,CMD_VIEW_SHOW_TOOLBAR114,3227
    CMD_VIEW_SHOW_SIDEBAR,CMD_VIEW_SHOW_SIDEBAR115,3254
    CMD_VIEW_SHOW_SCROLLBARS,CMD_VIEW_SHOW_SCROLLBARS116,3281
    CMD_VIEW_SHOW_STATUSBAR,CMD_VIEW_SHOW_STATUSBAR117,3311
    CMD_VIEW_FULLSCREEN,CMD_VIEW_FULLSCREEN118,3340
    CMD_EDIT_DRAWING_TOOL,CMD_EDIT_DRAWING_TOOL120,3366
    CMD_EDIT_SELECTION_TOOL,CMD_EDIT_SELECTION_TOOL121,3393
    CMD_EDIT_CUT,CMD_EDIT_CUT122,3422
    CMD_EDIT_COPY,CMD_EDIT_COPY123,3440
    CMD_EDIT_CLEAR,CMD_EDIT_CLEAR124,3459
    CMD_EDIT_PASTE,CMD_EDIT_PASTE125,3479
    CMD_EDIT_MOVE,CMD_EDIT_MOVE126,3499
    CMD_EDIT_CANCEL_PASTE,CMD_EDIT_CANCEL_PASTE127,3518
    CMD_EDIT_PREFERENCES,CMD_EDIT_PREFERENCES128,3545
    CMD_RUN_START_STOP,CMD_RUN_START_STOP130,3572
    CMD_RUN_STEP,CMD_RUN_STEP131,3596
    CMD_RUN_JUMP,CMD_RUN_JUMP132,3614
    CMD_RUN_FASTER,CMD_RUN_FASTER133,3632
    CMD_RUN_SLOWER,CMD_RUN_SLOWER134,3652
    CMD_RUN_SPEED,CMD_RUN_SPEED135,3672
    CMD_HELP_HELP,CMD_HELP_HELP137,3692
    CMD_HELP_PATTERN_ARCHIVE,CMD_HELP_PATTERN_ARCHIVE138,3711
    CMD_HELP_GLF_FILE_FORMAT,CMD_HELP_GLF_FILE_FORMAT139,3741
    CMD_HELP_ABOUT,CMD_HELP_ABOUT140,3771
    NUM_COMMANDSNUM_COMMANDS142,3792
} command_type;command_type143,3809
typedef enum component_enum {component_enum145,3826
    COMPONENT_TOOLBAR,COMPONENT_TOOLBAR146,3856
    COMPONENT_SIDEBAR,COMPONENT_SIDEBAR147,3879
    COMPONENT_SCROLLBARS,COMPONENT_SCROLLBARS148,3902
    COMPONENT_STATUSBAR,COMPONENT_STATUSBAR149,3928
    NUM_COMPONENTSNUM_COMPONENTS151,3954
} component_type;component_type152,3973
typedef enum pattern_coll_enum {pattern_coll_enum154,3992
    COLL_LPA,COLL_LPA155,4025
    COLL_JSLIFE,COLL_JSLIFE156,4039
    NUM_COLLECTIONSNUM_COLLECTIONS158,4057
} pattern_coll_id;pattern_coll_id159,4077
typedef enum help_browser_enum {help_browser_enum161,4097
    HB_FIREFOX,HB_FIREFOX162,4130
    HB_MOZILLA,HB_MOZILLA163,4146
    NUM_HELP_BROWSERSNUM_HELP_BROWSERS165,4163
} help_browser_id;help_browser_id166,4185
#define DRAW_GRID(DRAW_GRID170,4219
#define SELECTION_ACTIVE(SELECTION_ACTIVE171,4269
#define COPY_BUFFER_ACTIVE(COPY_BUFFER_ACTIVE172,4349
#define SWAP(SWAP173,4429
#define ZOOM_CMD(ZOOM_CMD174,4483
#define LEFT_ALIGN(LEFT_ALIGN180,4805
#define RIGHT_ALIGN(RIGHT_ALIGN182,4949
#define CENTER_ALIGN(CENTER_ALIGN184,5093
#define FRAME_ALIGN(FRAME_ALIGN186,5239
typedef struct dimension_struct {dimension_struct191,5395
    int32 width;width192,5429
    int32 height;height193,5446
} dimension;dimension194,5464
typedef struct point_struct {point_struct196,5478
    int32 x;x197,5508
    int32 y;y198,5521
} point;point199,5534
typedef struct rect_struct {rect_struct201,5544
    point start;start202,5573
    point end;end203,5590
} rect;rect204,5605
typedef void (*bound_function)(void);bound_function206,5614
typedef struct command_info_struct {command_info_struct208,5653
    item_type      type;type209,5690
    bound_function handler;handler210,5715
} command_info_type;command_info_type211,5743
typedef struct command_widgets_struct {command_widgets_struct213,5765
    GtkWidget*  menu_item;menu_item214,5805
    GtkWidget*  toolbar_button;toolbar_button215,5832
} command_widgets_type;command_widgets_type216,5864
typedef struct pattern_file_struct {pattern_file_struct218,5889
    char*    filename;filename219,5926
    char*    path;path220,5949
    char*    title;title221,5968
    boolean  is_directory;is_directory222,5988
} pattern_file;pattern_file223,6015
typedef struct recent_file_struct {recent_file_struct225,6032
    char*       filename;filename226,6068
    char*       full_path;full_path227,6094
    GtkWidget*  menu_item;menu_item228,6121
    GtkWidget*  label;label229,6148
} recent_file;recent_file230,6171
typedef struct pattern_coll_struct {pattern_coll_struct232,6187
    const char*  dir;dir233,6224
    const char*  title;title234,6246
} pattern_coll;pattern_coll235,6270
typedef struct help_browser_struct {help_browser_struct237,6287
    const char*  name;name238,6324
    const char*  command_line;command_line239,6347
} help_browser;help_browser240,6378
typedef struct toolbar_button_struct {toolbar_button_struct242,6395
    int32        cmd;cmd243,6434
    const char*  description;description244,6456
    uint8*       icon;icon245,6486
} toolbar_button;toolbar_button246,6509
typedef struct collection_dialog_info_struct {collection_dialog_info_struct248,6528
    GtkWidget*  dialog;dialog249,6575
    GtkWidget*  radio_buttons[NUM_COLLECTIONS+1];radio_buttons250,6599
    GtkWidget*  custom_path_entry;custom_path_entry251,6649
    GtkWidget*  custom_path_button;custom_path_button252,6684
} collection_dialog_info;collection_dialog_info253,6720
typedef struct goto_dialog_info_struct {goto_dialog_info_struct255,6747
    GtkWidget*  dialog;dialog256,6788
    GtkWidget*  x_entry;x_entry257,6812
    GtkWidget*  y_entry;y_entry258,6837
    GtkWidget*  ul_corner_radio;ul_corner_radio259,6862
    GtkWidget*  center_radio;center_radio260,6895
} goto_dialog_info;goto_dialog_info261,6925
typedef struct speed_dialog_info_struct {speed_dialog_info_struct263,6946
    GtkWidget*  dialog;dialog264,6988
    GtkWidget*  speed_spinbox;speed_spinbox265,7012
    GtkWidget*  skip_toggle;skip_toggle266,7043
} speed_dialog_info;speed_dialog_info267,7072
typedef struct color_dialog_info_struct {color_dialog_info_struct269,7094
    const char*  dialog_title;dialog_title270,7136
    GtkWidget*   prefs_entry;prefs_entry271,7167
    uint32       cur_value;cur_value272,7197
    uint32       default_value;default_value273,7225
} color_dialog_info;color_dialog_info274,7257
typedef struct pick_browser_dialog_info_struct {pick_browser_dialog_info_struct276,7279
    const char*  helpfile;helpfile277,7328
    GtkWidget*   dialog;dialog278,7355
    GtkWidget*   radio_buttons[NUM_HELP_BROWSERS+2];radio_buttons279,7380
    GtkWidget*   custom_browser_entry;custom_browser_entry280,7433
} pick_browser_dialog_info;pick_browser_dialog_info281,7472
typedef struct prefs_dialog_info_struct {prefs_dialog_info_struct283,7501
    GtkWidget*  dialog;dialog284,7543
    GtkWidget*  collection_radio_buttons[NUM_COLLECTIONS+1];collection_radio_buttons285,7567
    GtkWidget*  custom_collection_path_entry;custom_collection_path_entry286,7628
    GtkWidget*  custom_collection_path_button;custom_collection_path_button287,7674
    GtkWidget*  patterns_dir_entry;patterns_dir_entry288,7721
    GtkWidget*  default_window_width_spinbox;default_window_width_spinbox289,7757
    GtkWidget*  default_window_height_spinbox;default_window_height_spinbox290,7803
    GtkWidget*  default_zoom_combo;default_zoom_combo291,7850
    GtkWidget*  visible_component_toggles[NUM_COMPONENTS];visible_component_toggles292,7886
    GtkWidget*  default_fullscreen_toggle;default_fullscreen_toggle293,7945
    GtkWidget*  color_entries[NUM_COLORS];color_entries294,7988
    color_dialog_info*  color_dialog_infos[NUM_COLORS];color_dialog_infos295,8031
    GtkWidget*  default_speed_spinbox;default_speed_spinbox296,8087
    GtkWidget*  speed_slider_min_spinbox;speed_slider_min_spinbox297,8126
    GtkWidget*  speed_slider_max_spinbox;speed_slider_max_spinbox298,8168
    GtkWidget*  speed_increment_spinbox;speed_increment_spinbox299,8210
    GtkWidget*  default_skip_toggle;default_skip_toggle300,8251
    GtkWidget*  browser_radio_buttons[NUM_HELP_BROWSERS+2];browser_radio_buttons301,8288
    GtkWidget*  custom_browser_entry;custom_browser_entry302,8348
} prefs_dialog_info;prefs_dialog_info303,8386

create_lookup.c,209
template_type templates[] = {templates19,711
int main(int argc, char* argv[])main42,1332
void process(const char* name, template_type* template)process60,1668
void usage_abort(void)usage_abort133,3849

create_lookup.h,521
#define CREATE_LOOKUP_HCREATE_LOOKUP_H2,24
#define PROG PROG4,49
enum {NW, NE, SW, SE, NUM_TEMPLATES};NW6,79
enum {NW, NE, SW, SE, NUM_TEMPLATES};NE6,79
enum {NW, NE, SW, SE, NUM_TEMPLATES};SW6,79
enum {NW, NE, SW, SE, NUM_TEMPLATES};SE6,79
enum {NW, NE, SW, SE, NUM_TEMPLATES};NUM_TEMPLATES6,79
typedef struct template_struct {template_struct8,118
    const char*  name;name9,151
    int          shiftage;shiftage10,174
    int          bits[4][4];bits11,201
} template_type;template_type12,230

ewmh.c,444
#define _NET_WM_STATE_REMOVE _NET_WM_STATE_REMOVE10,125
#define _NET_WM_STATE_ADD _NET_WM_STATE_ADD11,158
#define _NET_WM_STATE_TOGGLE _NET_WM_STATE_TOGGLE12,191
void ewmh_toggle_fullscreen(GtkWidget* win)ewmh_toggle_fullscreen22,514
static void ewmh_set_state(GtkWidget* win, uint32 action, char* atom1, char* atom2)ewmh_set_state29,673
static void client_msg(GtkWidget* win, char* msg, uint32 data0, uint32 data1,client_msg37,977

ewmh.h,27
#define EWMH_HEWMH_H2,15

util.c,1084
static const char*  prog = "";prog17,486
char* dgets(FILE* f)dgets22,663
char* dsprintf(const char* format, ...)dsprintf57,1492
char* dstrcat(char** dest, const char* src)dstrcat71,1791
boolean is_blank(const char* str)is_blank80,2064
boolean is_hexadecimal(const char* str)is_hexadecimal94,2380
boolean is_numeric(const char* str)is_numeric110,2713
int32 num_digits(uint32 num)num_digits125,2999
void* safe_calloc(size_t count, size_t element_size)safe_calloc139,3182
void* safe_malloc(size_t len)safe_malloc152,3420
void* safe_realloc(void* mem, size_t len)safe_realloc165,3618
char* safe_strdup(const char* str)safe_strdup176,3816
void trim_whitespace(char* str)trim_whitespace187,4033
char* vdsprintf(const char* format, va_list args)vdsprintf200,4331
void warn(const char* format, ...)warn224,4895
void error_abort(const char* format, ...)error_abort237,5151
void sys_warn(const char *format, ...)sys_warn252,5461
void sys_error_abort(const char* format, ...)sys_error_abort265,5778
void set_prog_name(const char* name)set_prog_name281,6167

util.h,897
#define UTIL_HUTIL_H9,364
#undef booleanboolean18,473
#undef FALSEFALSE19,488
#undef TRUETRUE20,501
#define boolean boolean22,514
#define FALSE FALSE23,534
#define TRUE TRUE24,551
typedef char       int8;int826,569
typedef short      int16;int1627,594
typedef int        int32;int3228,620
typedef long long  int64;int6429,646
typedef unsigned char       uint8;uint831,673
typedef unsigned short      uint16;uint1632,708
typedef unsigned int        uint32;uint3233,744
typedef unsigned long long  uint64;uint6434,780
#define STR_EQUAL(STR_EQUAL38,831
#define STR_EQUAL_I(STR_EQUAL_I39,886
#define STR_STARTS_WITH(STR_STARTS_WITH40,945
#define STR_STARTS_WITH_I(STR_STARTS_WITH_I41,1011
#define IS_EMPTY_STRING(IS_EMPTY_STRING42,1081
#undef MINMIN44,1131
#undef MAXMAX45,1142
#define MIN(MIN47,1154
#define MAX(MAX48,1197
#define ROUND(ROUND50,1241
