1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2007-2017 Jean-Pierre Charras, jp.charras at wanadoo.fr
5  * Copyright (C) 1992-2021 KiCad Developers, see AUTHORS.TXT for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
23  */
24 
25 #ifndef BITMAPS_PNG_BITMAPS_LIST__H
26 #define BITMAPS_PNG_BITMAPS_LIST__H
27 
28 /**
29  * A list of all bitmap identifiers.  These map to multiple actual images, i.e. light and dark icon
30  * themes, and eventually multi-resolution icons.
31  */
32 enum class BITMAPS : unsigned int
33 {
34     /*
35      * Bitmap 0 is reserved for the invalid marker, so that classes using BITMAPS can forward-
36      * declare this enum and zero-initialize it, which cuts down on the number of files that need
37      * to be rebuilt when this enum is changed
38      */
39     INVALID_BITMAP = 0,
40 
41     about,
42     add_aligned_dimension,
43     add_arc,
44     add_board,
45     add_bus,
46     add_bus2bus,
47     add_center_dimension,
48     add_circle,
49     add_component,
50     add_corner,
51     add_dashed_line,
52     add_document,
53     add_gerber,
54     add_glabel,
55     add_graphical_polygon,
56     add_graphical_segments,
57     add_hierar_pin,
58     add_hierarchical_label,
59     add_hierarchical_subsheet,
60     add_junction,
61     add_keepout_area,
62     add_label,
63     add_leader,
64     add_library,
65     add_line,
66     add_line2bus,
67     add_line_label,
68     add_orthogonal_dimension,
69     add_pcb_target,
70     add_power,
71     add_rectangle,
72     add_symbol_to_schematic,
73     add_tracks,
74     add_via,
75     add_zone,
76     add_zone_cutout,
77     align_items,
78     align_items_bottom,
79     align_items_center,
80     align_items_left,
81     align_items_middle,
82     align_items_right,
83     align_items_top,
84     anchor,
85     annotate,
86     annotate_down_right,
87     annotate_right_down,
88     apply_pad_settings,
89     array,
90     att_bridge,
91     att_pi,
92     att_splitter,
93     att_tee,
94     auto_associate,
95     auto_delete_track,
96     auto_track_width,
97     autoplace_fields,
98     axis3d,
99     axis3d_back,
100     axis3d_bottom,
101     axis3d_front,
102     axis3d_left,
103     axis3d_right,
104     axis3d_top,
105     break_bus,
106     break_line,
107     bug,
108     bus_definition_tool,
109     c_microstrip,
110     calculator,
111     cancel,
112     change_entry_orient,
113     change_glabel,
114     change_hlabel,
115     change_label,
116     change_text,
117     checked_ok,
118     coax,
119     color_code_multiplier,
120     color_code_tolerance,
121     color_code_value,
122     color_code_value_and_name,
123     color_materials,
124     component_select_alternate_shape,
125     component_select_unit,
126     config,
127     contrast_mode,
128     convert,
129     copper_layers_setup,
130     copy,
131     copy_pad_settings,
132     cpw,
133     cpw_back,
134     cursor,
135     cursor_shape,
136     curved_ratsnest,
137     custom_pad_to_primitives,
138     cut,
139     datasheet,
140     delete_association,
141     delete_cursor,
142     delete_gerber,
143     delete_sheet,
144     dialog_warning,
145     directory,
146     directory_browser,
147     directory_open,
148     display_options,
149     distribute_horizontal,
150     distribute_vertical,
151     down,
152     drag,
153     drag_segment_withslope,
154     drc,
155     drc_off,
156     dummy_item,
157     duplicate,
158     edge_to_copper_clearance,
159     edit,
160     edit_cmp_symb_links,
161     edit_comp_footprint,
162     edit_comp_ref,
163     edit_comp_value,
164     editor,
165     eeschema,
166     enter_sheet,
167     erc,
168     erc_green,
169     ercerr,
170     ercwarn,
171     exchange,
172     exit,
173     export3d,
174     export_cmp,
175     export_dsn,
176     export_file,
177     export_footprint_names,
178     export_idf,
179     export_module,
180     export_part,
181     export_png,
182     export_step,
183     export_svg,
184     export_to_pcbnew,
185     fabrication,
186     file_bom,
187     file_drl,
188     file_dsn,
189     file_gbr,
190     file_gerber_job,
191     file_html,
192     file_idf,
193     file_pdf,
194     file_pos,
195     file_svg,
196     fill_zone,
197     filter,
198     find,
199     find_replace,
200     flag,
201     flip_board,
202     fonts,
203     gbr_select_mode0,
204     gbr_select_mode1,
205     gbr_select_mode2,
206     general_deletions,
207     general_ratsnest,
208     gerber_file,
209     gerbview_clear_layers,
210     gerbview_show_negative_objects,
211     go_down,
212     go_up,
213     grid,
214     grid_select,
215     grid_select_axis,
216     group,
217     group_enter,
218     group_leave,
219     group_remove,
220     group_ungroup,
221     help,
222     help_online,
223     hidden_pin,
224     hide_ratsnest,
225     hierarchy_nav,
226     hole_to_copper_clearance,
227     hole_to_hole_clearance,
228     hotkeys,
229     icon_3d,
230     icon_bitmap2component,
231     icon_bitmap2component_16,
232     icon_bitmap2component_24,
233     icon_bitmap2component_32,
234     icon_cvpcb,
235     icon_cvpcb_24,
236     icon_eeschema,
237     icon_eeschema_16,
238     icon_eeschema_24,
239     icon_eeschema_32,
240     icon_footprint_browser,
241     icon_gerbview,
242     icon_gerbview_16,
243     icon_gerbview_24,
244     icon_gerbview_32,
245     icon_kicad,
246     icon_kicad_16,
247     icon_kicad_24,
248     icon_kicad_32,
249     icon_libedit,
250     icon_libedit_16,
251     icon_libedit_24,
252     icon_libedit_32,
253     icon_modedit,
254     icon_modedit_16,
255     icon_modedit_24,
256     icon_modedit_32,
257     icon_pagelayout_editor,
258     icon_pagelayout_editor_16,
259     icon_pagelayout_editor_24,
260     icon_pagelayout_editor_32,
261     icon_pcbcalculator,
262     icon_pcbcalculator_16,
263     icon_pcbcalculator_24,
264     icon_pcbcalculator_32,
265     icon_pcbnew,
266     icon_pcbnew_16,
267     icon_pcbnew_24,
268     icon_pcbnew_32,
269     icon_pcm,
270     icon_pcm_24,
271     image,
272     import,
273     import3d,
274     import_brd_file,
275     import_document,
276     import_footprint_names,
277     import_hierarchical_label,
278     import_module,
279     import_part,
280     import_project,
281     import_vector,
282     info,
283     insert_module_board,
284     invisible_text,
285     kicad_icon_small,
286     language,
287     layers_manager,
288     leave_sheet,
289     left,
290     lib_next,
291     lib_previous,
292     libedit,
293     library,
294     library_archive,
295     library_archive_as,
296     library_browser,
297     library_table,
298     lines90,
299     list_nets,
300     list_nets_16,
301     load_drill,
302     load_gerber,
303     load_module_board,
304     lock_unlock,
305     locked,
306     measurement,
307     microstrip,
308     microstrip_zodd_zeven,
309     minus,
310     mirror_h,
311     mirror_v,
312     mode_module,
313     mode_track,
314     module,
315     module_editor,
316     module_filtered_list,
317     module_full_list,
318     module_library_list,
319     module_name_filtered_list,
320     module_options,
321     module_pin_filtered_list,
322     module_wizard,
323     morgan1,
324     morgan2,
325     move,
326     move_exactly,
327     move_relative,
328     mw_add_gap,
329     mw_add_line,
330     mw_add_shape,
331     mw_add_stub,
332     mw_add_stub_arc,
333     net_highlight,
334     net_highlight_schematic,
335     net_locked,
336     net_unlocked,
337     netlist,
338     new_board,
339     new_component,
340     new_document,
341     new_footprint,
342     new_generic,
343     new_library,
344     new_page_layout,
345     new_project,
346     new_python,
347     noconn,
348     normal,
349     open_project,
350     opt_show_polygon,
351     options_3drender,
352     options_board,
353     options_generic,
354     options_generic_16,
355     options_pad,
356     options_schematic,
357     ortho,
358     pad,
359     pad_enumerate,
360     pad_number,
361     pad_sketch,
362     pads_mask_layers,
363     pads_npth,
364     pads_npth_bottom,
365     pads_npth_top,
366     pads_npth_top_bottom,
367     pads_remove,
368     pads_remove_unused,
369     pads_remove_unused_keep_bottom,
370     pads_reset_unused,
371     pagelayout_normal_view_mode,
372     pagelayout_special_view_mode,
373     part_properties,
374     paste,
375     path,
376     pcb_target,
377     pcbnew,
378     pin,
379     pin2pin,
380     pin_show_etype,
381     pin_size_to,
382     pin_table,
383     pinorient_down,
384     pinorient_left,
385     pinorient_right,
386     pinorient_up,
387     pinshape_active_low_input,
388     pinshape_active_low_output,
389     pinshape_clock_active_low,
390     pinshape_clock_fall,
391     pinshape_clock_invert,
392     pinshape_clock_normal,
393     pinshape_invert,
394     pinshape_nonlogic,
395     pinshape_normal,
396     pintype_3states,
397     pintype_bidi,
398     pintype_input,
399     pintype_nic,
400     pintype_noconnect,
401     pintype_notspecif,
402     pintype_opencoll,
403     pintype_openemit,
404     pintype_output,
405     pintype_passive,
406     pintype_powerinput,
407     pintype_poweroutput,
408     plot,
409     polar_coord,
410     post_bom,
411     post_compo,
412     post_d356,
413     post_drill,
414     post_gencad,
415     post_gerber,
416     post_module,
417     post_rpt,
418     preference,
419     primitives_to_custom_pad,
420     print_button,
421     project,
422     project_close,
423     project_kicad,
424     ps_diff_pair,
425     ps_diff_pair_gap,
426     ps_diff_pair_tune_length,
427     ps_diff_pair_tune_phase,
428     ps_diff_pair_via_gap,
429     ps_router,
430     ps_tune_length,
431     push_pad_settings,
432     puzzle_piece,
433     py_script,
434     question_mark,
435     reannotate_down_left,
436     reannotate_down_right,
437     reannotate_left_down,
438     reannotate_left_up,
439     reannotate_right_down,
440     reannotate_right_up,
441     reannotate_up_left,
442     reannotate_up_right,
443     recent,
444     rectwaveguide,
445     red,
446     redo,
447     refresh,
448     regul,
449     regul_3pins,
450     reload,
451     render_mode,
452     repaint,
453     rescue,
454     resize_sheet,
455     right,
456     rotate_ccw,
457     rotate_ccw_x,
458     rotate_ccw_y,
459     rotate_ccw_z,
460     rotate_cw,
461     rotate_cw_x,
462     rotate_cw_y,
463     rotate_cw_z,
464     router_len_tuner,
465     router_len_tuner_amplitude_decr,
466     router_len_tuner_amplitude_incr,
467     router_len_tuner_dist_decr,
468     router_len_tuner_dist_incr,
469     router_len_tuner_setup,
470     save,
471     save_as,
472     search_tree,
473     select_layer_pair,
474     select_same_sheet,
475     select_w_layer,
476     set_origin,
477     shape_3d,
478     shape_3d_back,
479     sheetset,
480     show_all_back_layers,
481     show_all_copper_layers,
482     show_all_front_layers,
483     show_all_layers,
484     show_back_assembly_layers,
485     show_dcodenumber,
486     show_footprint,
487     show_front_assembly_layers,
488     show_graphics_mode,
489     show_mod_edge,
490     show_no_copper_layers,
491     show_no_layers,
492     show_ratsnest,
493     show_other,
494     show_tht,
495     show_smt,
496     show_zone,
497     show_zone_disable,
498     show_zone_outline_only,
499     show_zone_triangulation,
500     showtrack,
501     sim_add_signal,
502     sim_probe,
503     sim_run,
504     sim_stop,
505     sim_tune,
506     simulator,
507     small_down,
508     small_edit,
509     small_folder,
510     small_library,
511     small_plus,
512     small_refresh,
513     small_trash,
514     small_up,
515     small_warning,
516     special_tools,
517     spreadsheet,
518     stripline,
519     stroke_dash,
520     stroke_dashdot,
521     stroke_dot,
522     stroke_solid,
523     swap_layer,
524     switch_corner_rounding_shape,
525     text,
526     text_sketch,
527     three_d,
528     tool_ratsnest,
529     tools,
530     track_locked,
531     track_sketch,
532     track_unlocked,
533     trash,
534     tree_nosel,
535     tree_sel,
536     tune_diff_pair_length_legend,
537     tune_diff_pair_skew_legend,
538     tune_single_track_length_legend,
539     twistedpair,
540     undelete,
541     undo,
542     unit_inch,
543     unit_mil,
544     unit_mm,
545     unknown,
546     unlocked,
547     unzip,
548     up,
549     update_fields,
550     update_pcb_from_sch,
551     update_sch_from_pcb,
552     via,
553     via_annulus,
554     via_buried,
555     via_diameter,
556     via_hole_diameter,
557     via_microvia,
558     via_sketch,
559     viacalc,
560     viewlibs_icon,
561     visibility,
562     visibility_off,
563     width_track,
564     width_track_via,
565     wizard_add_fplib_icon,
566     wizard_add_fplib_small,
567     www,
568     zip,
569     zone_duplicate,
570     zone_fillet,
571     zone_unfill,
572     zoom,
573     zoom_area,
574     zoom_auto_fit_in_page,
575     zoom_center_on_screen,
576     zoom_fit_in_page,
577     zoom_fit_to_objects,
578     zoom_in,
579     zoom_out,
580     zoom_page,
581     zoom_selection,
582 };
583 
584 
585 inline bool operator!( const BITMAPS& aBitmap ) { return aBitmap == BITMAPS::INVALID_BITMAP; }
586 
587 #endif // BITMAPS_PNG_BITMAPS_LIST__H
588