├── .cproject
├── .gitignore
├── .mxproject
├── .project
├── .settings
└── language.settings.xml
├── Core
├── GUIX
│ ├── common
│ │ ├── inc
│ │ │ ├── gx_animation.h
│ │ │ ├── gx_api.h
│ │ │ ├── gx_binres_loader.h
│ │ │ ├── gx_button.h
│ │ │ ├── gx_canvas.h
│ │ │ ├── gx_circular_gauge.h
│ │ │ ├── gx_context.h
│ │ │ ├── gx_display.h
│ │ │ ├── gx_drop_list.h
│ │ │ ├── gx_icon.h
│ │ │ ├── gx_image_reader.h
│ │ │ ├── gx_line_chart.h
│ │ │ ├── gx_menu.h
│ │ │ ├── gx_multi_line_text_input.h
│ │ │ ├── gx_multi_line_text_view.h
│ │ │ ├── gx_numeric_pixelmap_prompt.h
│ │ │ ├── gx_numeric_prompt.h
│ │ │ ├── gx_pixelmap_prompt.h
│ │ │ ├── gx_progress_bar.h
│ │ │ ├── gx_prompt.h
│ │ │ ├── gx_radial_progress_bar.h
│ │ │ ├── gx_radial_slider.h
│ │ │ ├── gx_screen_stack.h
│ │ │ ├── gx_scroll_wheel.h
│ │ │ ├── gx_scrollbar.h
│ │ │ ├── gx_single_line_text_input.h
│ │ │ ├── gx_slider.h
│ │ │ ├── gx_sprite.h
│ │ │ ├── gx_system.h
│ │ │ ├── gx_system_rtos_bind.h
│ │ │ ├── gx_text_input_cursor.h
│ │ │ ├── gx_tree_view.h
│ │ │ ├── gx_user_sample.h
│ │ │ ├── gx_utility.h
│ │ │ ├── gx_widget.h
│ │ │ └── gx_window.h
│ │ └── src
│ │ │ ├── gx_accordion_menu_create.c
│ │ │ ├── gx_accordion_menu_draw.c
│ │ │ ├── gx_accordion_menu_event_process.c
│ │ │ ├── gx_accordion_menu_position.c
│ │ │ ├── gx_animation_canvas_define.c
│ │ │ ├── gx_animation_complete.c
│ │ │ ├── gx_animation_create.c
│ │ │ ├── gx_animation_drag_disable.c
│ │ │ ├── gx_animation_drag_enable.c
│ │ │ ├── gx_animation_drag_event_process.c
│ │ │ ├── gx_animation_drag_tracking.c
│ │ │ ├── gx_animation_drag_tracking_start.c
│ │ │ ├── gx_animation_landing_speed_set.c
│ │ │ ├── gx_animation_slide_landing.c
│ │ │ ├── gx_animation_slide_landing_start.c
│ │ │ ├── gx_animation_start.c
│ │ │ ├── gx_animation_stop.c
│ │ │ ├── gx_animation_update.c
│ │ │ ├── gx_binres_language_count_get.c
│ │ │ ├── gx_binres_language_info_load.c
│ │ │ ├── gx_binres_language_table_load.c
│ │ │ ├── gx_binres_theme_load.c
│ │ │ ├── gx_brush_default.c
│ │ │ ├── gx_brush_define.c
│ │ │ ├── gx_button_background_draw.c
│ │ │ ├── gx_button_create.c
│ │ │ ├── gx_button_deselect.c
│ │ │ ├── gx_button_draw.c
│ │ │ ├── gx_button_event_process.c
│ │ │ ├── gx_button_select.c
│ │ │ ├── gx_button_siblings_deselect.c
│ │ │ ├── gx_canvas_alpha_set.c
│ │ │ ├── gx_canvas_arc_draw.c
│ │ │ ├── gx_canvas_block_move.c
│ │ │ ├── gx_canvas_circle_draw.c
│ │ │ ├── gx_canvas_composite_create.c
│ │ │ ├── gx_canvas_create.c
│ │ │ ├── gx_canvas_delete.c
│ │ │ ├── gx_canvas_dirty_mark.c
│ │ │ ├── gx_canvas_drawing_complete.c
│ │ │ ├── gx_canvas_drawing_initiate.c
│ │ │ ├── gx_canvas_ellipse_draw.c
│ │ │ ├── gx_canvas_glyphs_draw.c
│ │ │ ├── gx_canvas_hardware_layer_bind.c
│ │ │ ├── gx_canvas_hide.c
│ │ │ ├── gx_canvas_line_draw.c
│ │ │ ├── gx_canvas_memory_define.c
│ │ │ ├── gx_canvas_mouse_define.c
│ │ │ ├── gx_canvas_mouse_hide.c
│ │ │ ├── gx_canvas_mouse_show.c
│ │ │ ├── gx_canvas_offset_set.c
│ │ │ ├── gx_canvas_pie_draw.c
│ │ │ ├── gx_canvas_pixel_draw.c
│ │ │ ├── gx_canvas_pixelmap_blend.c
│ │ │ ├── gx_canvas_pixelmap_draw.c
│ │ │ ├── gx_canvas_pixelmap_get.c
│ │ │ ├── gx_canvas_pixelmap_rotate.c
│ │ │ ├── gx_canvas_pixelmap_tile.c
│ │ │ ├── gx_canvas_polygon_draw.c
│ │ │ ├── gx_canvas_rectangle_draw.c
│ │ │ ├── gx_canvas_rotated_text_draw.c
│ │ │ ├── gx_canvas_shift.c
│ │ │ ├── gx_canvas_show.c
│ │ │ ├── gx_canvas_text_draw.c
│ │ │ ├── gx_checkbox_create.c
│ │ │ ├── gx_checkbox_draw.c
│ │ │ ├── gx_checkbox_event_process.c
│ │ │ ├── gx_checkbox_pixelmap_set.c
│ │ │ ├── gx_checkbox_select.c
│ │ │ ├── gx_circular_gauge_angle_get.c
│ │ │ ├── gx_circular_gauge_angle_increment_calculate.c
│ │ │ ├── gx_circular_gauge_angle_set.c
│ │ │ ├── gx_circular_gauge_animation_set.c
│ │ │ ├── gx_circular_gauge_background_draw.c
│ │ │ ├── gx_circular_gauge_create.c
│ │ │ ├── gx_circular_gauge_draw.c
│ │ │ ├── gx_circular_gauge_event_process.c
│ │ │ ├── gx_circular_gauge_needle_dirty_mark.c
│ │ │ ├── gx_circular_gauge_needle_rectangle_calculate.c
│ │ │ ├── gx_circular_gauge_needle_rotate.c
│ │ │ ├── gx_context_brush_default.c
│ │ │ ├── gx_context_brush_define.c
│ │ │ ├── gx_context_brush_get.c
│ │ │ ├── gx_context_brush_pattern_set.c
│ │ │ ├── gx_context_brush_set.c
│ │ │ ├── gx_context_brush_style_set.c
│ │ │ ├── gx_context_brush_width_set.c
│ │ │ ├── gx_context_color_get.c
│ │ │ ├── gx_context_fill_color_set.c
│ │ │ ├── gx_context_font_get.c
│ │ │ ├── gx_context_font_set.c
│ │ │ ├── gx_context_line_color_set.c
│ │ │ ├── gx_context_pixelmap_get.c
│ │ │ ├── gx_context_pixelmap_set.c
│ │ │ ├── gx_context_raw_brush_define.c
│ │ │ ├── gx_context_raw_fill_color_set.c
│ │ │ ├── gx_context_raw_line_color_set.c
│ │ │ ├── gx_context_string_get.c
│ │ │ ├── gx_display_active_language_set.c
│ │ │ ├── gx_display_canvas_dirty.c
│ │ │ ├── gx_display_color_set.c
│ │ │ ├── gx_display_color_table_set.c
│ │ │ ├── gx_display_create.c
│ │ │ ├── gx_display_delete.c
│ │ │ ├── gx_display_driver_1555xrgb_canvas_blend.c
│ │ │ ├── gx_display_driver_1555xrgb_jpeg_draw.c
│ │ │ ├── gx_display_driver_1555xrgb_native_color_get.c
│ │ │ ├── gx_display_driver_1555xrgb_pixel_blend.c
│ │ │ ├── gx_display_driver_1555xrgb_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_1555xrgb_png_draw.c
│ │ │ ├── gx_display_driver_1555xrgb_setup.c
│ │ │ ├── gx_display_driver_16bpp_block_move.c
│ │ │ ├── gx_display_driver_16bpp_canvas_copy.c
│ │ │ ├── gx_display_driver_16bpp_horizontal_line_draw.c
│ │ │ ├── gx_display_driver_16bpp_horizontal_pattern_line_draw.c
│ │ │ ├── gx_display_driver_16bpp_mouse_capture.c
│ │ │ ├── gx_display_driver_16bpp_mouse_restore.c
│ │ │ ├── gx_display_driver_16bpp_pixel_write.c
│ │ │ ├── gx_display_driver_16bpp_pixelmap_blend.c
│ │ │ ├── gx_display_driver_16bpp_pixelmap_draw.c
│ │ │ ├── gx_display_driver_16bpp_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_16bpp_row_pitch_get.c
│ │ │ ├── gx_display_driver_16bpp_simple_line_draw.c
│ │ │ ├── gx_display_driver_16bpp_vertical_line_draw.c
│ │ │ ├── gx_display_driver_16bpp_vertical_pattern_line_draw.c
│ │ │ ├── gx_display_driver_1bpp_block_move.c
│ │ │ ├── gx_display_driver_1bpp_canvas_copy.c
│ │ │ ├── gx_display_driver_1bpp_glyph_1bpp_draw.c
│ │ │ ├── gx_display_driver_1bpp_horizontal_line_draw.c
│ │ │ ├── gx_display_driver_1bpp_horizontal_pattern_line_draw.c
│ │ │ ├── gx_display_driver_1bpp_horizontal_pixelmap_line_draw.c
│ │ │ ├── gx_display_driver_1bpp_mouse_capture.c
│ │ │ ├── gx_display_driver_1bpp_mouse_restore.c
│ │ │ ├── gx_display_driver_1bpp_native_color_get.c
│ │ │ ├── gx_display_driver_1bpp_pixel_write.c
│ │ │ ├── gx_display_driver_1bpp_pixelmap_draw.c
│ │ │ ├── gx_display_driver_1bpp_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_1bpp_row_pitch_get.c
│ │ │ ├── gx_display_driver_1bpp_simple_line_draw.c
│ │ │ ├── gx_display_driver_1bpp_vertical_line_draw.c
│ │ │ ├── gx_display_driver_1bpp_vertical_pattern_line_draw.c
│ │ │ ├── gx_display_driver_24xrgb_canvas_blend.c
│ │ │ ├── gx_display_driver_24xrgb_jpeg_draw.c
│ │ │ ├── gx_display_driver_24xrgb_mouse_capture.c
│ │ │ ├── gx_display_driver_24xrgb_mouse_restore.c
│ │ │ ├── gx_display_driver_24xrgb_native_color_get.c
│ │ │ ├── gx_display_driver_24xrgb_pixel_blend.c
│ │ │ ├── gx_display_driver_24xrgb_pixelmap_blend.c
│ │ │ ├── gx_display_driver_24xrgb_png_draw.c
│ │ │ ├── gx_display_driver_24xrgb_setup.c
│ │ │ ├── gx_display_driver_32argb_native_color_get.c
│ │ │ ├── gx_display_driver_32argb_pixel_blend.c
│ │ │ ├── gx_display_driver_32argb_pixelmap_blend.c
│ │ │ ├── gx_display_driver_32argb_pixelmap_draw.c
│ │ │ ├── gx_display_driver_32argb_setup.c
│ │ │ ├── gx_display_driver_32bpp_block_move.c
│ │ │ ├── gx_display_driver_32bpp_canvas_copy.c
│ │ │ ├── gx_display_driver_32bpp_glyph_1bit_draw.c
│ │ │ ├── gx_display_driver_32bpp_horizontal_line_draw.c
│ │ │ ├── gx_display_driver_32bpp_horizontal_pattern_line_draw.c
│ │ │ ├── gx_display_driver_32bpp_horizontal_pixelmap_line_draw.c
│ │ │ ├── gx_display_driver_32bpp_pixel_write.c
│ │ │ ├── gx_display_driver_32bpp_pixelmap_draw.c
│ │ │ ├── gx_display_driver_32bpp_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_32bpp_row_pitch_get.c
│ │ │ ├── gx_display_driver_32bpp_simple_line_draw.c
│ │ │ ├── gx_display_driver_32bpp_vertical_line_draw.c
│ │ │ ├── gx_display_driver_32bpp_vertical_pattern_line_draw.c
│ │ │ ├── gx_display_driver_332rgb_native_color_get.c
│ │ │ ├── gx_display_driver_332rgb_pixel_blend.c
│ │ │ ├── gx_display_driver_332rgb_pixelmap_draw.c
│ │ │ ├── gx_display_driver_332rgb_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_332rgb_setup.c
│ │ │ ├── gx_display_driver_4444argb_canvas_blend.c
│ │ │ ├── gx_display_driver_4444argb_horizontal_pixelmap_line_draw.c
│ │ │ ├── gx_display_driver_4444argb_native_color_get.c
│ │ │ ├── gx_display_driver_4444argb_pixel_blend.c
│ │ │ ├── gx_display_driver_4444argb_pixelmap_draw.c
│ │ │ ├── gx_display_driver_4444argb_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_4444argb_setup.c
│ │ │ ├── gx_display_driver_4bpp_block_move.c
│ │ │ ├── gx_display_driver_4bpp_canvas_copy.c
│ │ │ ├── gx_display_driver_4bpp_glyph_1bit_draw.c
│ │ │ ├── gx_display_driver_4bpp_glyph_4bit_draw.c
│ │ │ ├── gx_display_driver_4bpp_grayscale_setup.c
│ │ │ ├── gx_display_driver_4bpp_horizontal_line_draw.c
│ │ │ ├── gx_display_driver_4bpp_horizontal_pattern_line_draw.c
│ │ │ ├── gx_display_driver_4bpp_horizontal_pixelmap_line_draw.c
│ │ │ ├── gx_display_driver_4bpp_mouse_capture.c
│ │ │ ├── gx_display_driver_4bpp_mouse_restore.c
│ │ │ ├── gx_display_driver_4bpp_native_color_get.c
│ │ │ ├── gx_display_driver_4bpp_pixel_write.c
│ │ │ ├── gx_display_driver_4bpp_pixelmap_draw.c
│ │ │ ├── gx_display_driver_4bpp_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_4bpp_row_pitch_get.c
│ │ │ ├── gx_display_driver_4bpp_simple_line_draw.c
│ │ │ ├── gx_display_driver_4bpp_vertical_line_draw.c
│ │ │ ├── gx_display_driver_4bpp_vertical_pattern_line_draw.c
│ │ │ ├── gx_display_driver_565rgb_canvas_blend.c
│ │ │ ├── gx_display_driver_565rgb_glyph_1bit_draw.c
│ │ │ ├── gx_display_driver_565rgb_horizontal_pixelmap_line_draw.c
│ │ │ ├── gx_display_driver_565rgb_jpeg_draw.c
│ │ │ ├── gx_display_driver_565rgb_native_color_get.c
│ │ │ ├── gx_display_driver_565rgb_pixel_blend.c
│ │ │ ├── gx_display_driver_565rgb_png_draw.c
│ │ │ ├── gx_display_driver_565rgb_setup.c
│ │ │ ├── gx_display_driver_8bit_palette_native_color_get.c
│ │ │ ├── gx_display_driver_8bit_palette_setup.c
│ │ │ ├── gx_display_driver_8bpp_block_move.c
│ │ │ ├── gx_display_driver_8bpp_canvas_copy.c
│ │ │ ├── gx_display_driver_8bpp_glyph_1bit_draw.c
│ │ │ ├── gx_display_driver_8bpp_glyph_3bit_draw.c
│ │ │ ├── gx_display_driver_8bpp_glyph_4bit_draw.c
│ │ │ ├── gx_display_driver_8bpp_horizontal_line_draw.c
│ │ │ ├── gx_display_driver_8bpp_horizontal_pattern_line_draw.c
│ │ │ ├── gx_display_driver_8bpp_horizontal_pixelmap_line_draw.c
│ │ │ ├── gx_display_driver_8bpp_mouse_capture.c
│ │ │ ├── gx_display_driver_8bpp_mouse_restore.c
│ │ │ ├── gx_display_driver_8bpp_pixel_write.c
│ │ │ ├── gx_display_driver_8bpp_pixelmap_blend.c
│ │ │ ├── gx_display_driver_8bpp_pixelmap_draw.c
│ │ │ ├── gx_display_driver_8bpp_pixelmap_rotate.c
│ │ │ ├── gx_display_driver_8bpp_row_pitch_get.c
│ │ │ ├── gx_display_driver_8bpp_simple_line_draw.c
│ │ │ ├── gx_display_driver_8bpp_vertical_line_draw.c
│ │ │ ├── gx_display_driver_8bpp_vertical_pattern_line_draw.c
│ │ │ ├── gx_display_driver_arc_clipping_get.c
│ │ │ ├── gx_display_driver_generic_aliased_arc_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_circle_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_ellipse_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_filled_circle_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_fixed_point_line_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_line_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_wide_arc_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_wide_circle_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_wide_ellipse_draw.c
│ │ │ ├── gx_display_driver_generic_aliased_wide_line_draw.c
│ │ │ ├── gx_display_driver_generic_alphamap_draw.c
│ │ │ ├── gx_display_driver_generic_arc_draw.c
│ │ │ ├── gx_display_driver_generic_arc_fill.c
│ │ │ ├── gx_display_driver_generic_circle_draw.c
│ │ │ ├── gx_display_driver_generic_circle_fill.c
│ │ │ ├── gx_display_driver_generic_drawing_complete.c
│ │ │ ├── gx_display_driver_generic_drawing_initiate.c
│ │ │ ├── gx_display_driver_generic_ellipse_draw.c
│ │ │ ├── gx_display_driver_generic_ellipse_fill.c
│ │ │ ├── gx_display_driver_generic_filled_circle_draw.c
│ │ │ ├── gx_display_driver_generic_glyph_4bpp_draw.c
│ │ │ ├── gx_display_driver_generic_glyph_8bpp_draw.c
│ │ │ ├── gx_display_driver_generic_mouse_cursor_define.c
│ │ │ ├── gx_display_driver_generic_mouse_draw.c
│ │ │ ├── gx_display_driver_generic_mouse_enable.c
│ │ │ ├── gx_display_driver_generic_mouse_position_set.c
│ │ │ ├── gx_display_driver_generic_pie_fill.c
│ │ │ ├── gx_display_driver_generic_polygon_draw.c
│ │ │ ├── gx_display_driver_generic_polygon_fill.c
│ │ │ ├── gx_display_driver_generic_simple_pie_fill.c
│ │ │ ├── gx_display_driver_generic_simple_wide_line_draw.c
│ │ │ ├── gx_display_driver_generic_wide_arc_draw.c
│ │ │ ├── gx_display_driver_generic_wide_circle_draw.c
│ │ │ ├── gx_display_driver_generic_wide_ellipse_draw.c
│ │ │ ├── gx_display_driver_generic_wide_line_fill.c
│ │ │ ├── gx_display_driver_generic_wide_line_points_calculate.c
│ │ │ ├── gx_display_driver_horizontal_line_alpha_draw.c
│ │ │ ├── gx_display_driver_monochrome_setup.c
│ │ │ ├── gx_display_driver_simple_line_alpha_draw.c
│ │ │ ├── gx_display_driver_vertical_line_alpha_draw.c
│ │ │ ├── gx_display_font_table_set.c
│ │ │ ├── gx_display_language_table_get.c
│ │ │ ├── gx_display_language_table_set.c
│ │ │ ├── gx_display_pixelmap_table_set.c
│ │ │ ├── gx_display_string_get.c
│ │ │ ├── gx_display_string_table_get.c
│ │ │ ├── gx_display_theme_install.c
│ │ │ ├── gx_drop_list_background_draw.c
│ │ │ ├── gx_drop_list_close.c
│ │ │ ├── gx_drop_list_create.c
│ │ │ ├── gx_drop_list_draw.c
│ │ │ ├── gx_drop_list_event_process.c
│ │ │ ├── gx_drop_list_open.c
│ │ │ ├── gx_drop_list_pixelmap_set.c
│ │ │ ├── gx_drop_list_popup_get.c
│ │ │ ├── gx_horizontal_list_children_position.c
│ │ │ ├── gx_horizontal_list_create.c
│ │ │ ├── gx_horizontal_list_event_process.c
│ │ │ ├── gx_horizontal_list_left_wrap.c
│ │ │ ├── gx_horizontal_list_page_index_set.c
│ │ │ ├── gx_horizontal_list_right_wrap.c
│ │ │ ├── gx_horizontal_list_scroll.c
│ │ │ ├── gx_horizontal_list_scroll_info_get.c
│ │ │ ├── gx_horizontal_list_selected_index_get.c
│ │ │ ├── gx_horizontal_list_selected_set.c
│ │ │ ├── gx_horizontal_list_selected_visible.c
│ │ │ ├── gx_horizontal_list_selected_widget_get.c
│ │ │ ├── gx_horizontal_list_slide_back_check.c
│ │ │ ├── gx_horizontal_list_total_columns_set.c
│ │ │ ├── gx_horizontal_scrollbar_create.c
│ │ │ ├── gx_icon_background_draw.c
│ │ │ ├── gx_icon_button_create.c
│ │ │ ├── gx_icon_button_draw.c
│ │ │ ├── gx_icon_button_pixelmap_set.c
│ │ │ ├── gx_icon_create.c
│ │ │ ├── gx_icon_draw.c
│ │ │ ├── gx_icon_event_process.c
│ │ │ ├── gx_icon_pixelmap_set.c
│ │ │ ├── gx_icon_pixelmap_update.c
│ │ │ ├── gx_image_reader_colorspace_convert.c
│ │ │ ├── gx_image_reader_create.c
│ │ │ ├── gx_image_reader_image_decode.c
│ │ │ ├── gx_image_reader_jpeg_decode.c
│ │ │ ├── gx_image_reader_nearest_palette_color_get.c
│ │ │ ├── gx_image_reader_palette_set.c
│ │ │ ├── gx_image_reader_pixel_read_callback_set.c
│ │ │ ├── gx_image_reader_pixel_write_callback_set.c
│ │ │ ├── gx_image_reader_png_decode.c
│ │ │ ├── gx_image_reader_rle_encode.c
│ │ │ ├── gx_image_reader_start.c
│ │ │ ├── gx_line_chart_axis_draw.c
│ │ │ ├── gx_line_chart_create.c
│ │ │ ├── gx_line_chart_data_draw.c
│ │ │ ├── gx_line_chart_draw.c
│ │ │ ├── gx_line_chart_update.c
│ │ │ ├── gx_line_chart_y_scale_calculate.c
│ │ │ ├── gx_menu_create.c
│ │ │ ├── gx_menu_draw.c
│ │ │ ├── gx_menu_insert.c
│ │ │ ├── gx_menu_position.c
│ │ │ ├── gx_menu_remove.c
│ │ │ ├── gx_menu_text_draw.c
│ │ │ ├── gx_menu_text_offset_set.c
│ │ │ ├── gx_monochrome_driver_disabled_button_line_draw.c
│ │ │ ├── gx_multi_line_text_button_create.c
│ │ │ ├── gx_multi_line_text_button_draw.c
│ │ │ ├── gx_multi_line_text_button_event_process.c
│ │ │ ├── gx_multi_line_text_button_line_pointers_set.c
│ │ │ ├── gx_multi_line_text_button_text_draw.c
│ │ │ ├── gx_multi_line_text_button_text_id_set.c
│ │ │ ├── gx_multi_line_text_button_text_set.c
│ │ │ ├── gx_multi_line_text_input_backspace.c
│ │ │ ├── gx_multi_line_text_input_buffer_clear.c
│ │ │ ├── gx_multi_line_text_input_buffer_get.c
│ │ │ ├── gx_multi_line_text_input_char_insert.c
│ │ │ ├── gx_multi_line_text_input_char_remove.c
│ │ │ ├── gx_multi_line_text_input_copy.c
│ │ │ ├── gx_multi_line_text_input_create.c
│ │ │ ├── gx_multi_line_text_input_cursor_pos_calculate.c
│ │ │ ├── gx_multi_line_text_input_cursor_pos_get.c
│ │ │ ├── gx_multi_line_text_input_cursor_pos_update.c
│ │ │ ├── gx_multi_line_text_input_cursor_visible.c
│ │ │ ├── gx_multi_line_text_input_cut.c
│ │ │ ├── gx_multi_line_text_input_delete.c
│ │ │ ├── gx_multi_line_text_input_down_arrow.c
│ │ │ ├── gx_multi_line_text_input_draw.c
│ │ │ ├── gx_multi_line_text_input_end.c
│ │ │ ├── gx_multi_line_text_input_event_process.c
│ │ │ ├── gx_multi_line_text_input_fill_color_set.c
│ │ │ ├── gx_multi_line_text_input_highlight_rectangle_get.c
│ │ │ ├── gx_multi_line_text_input_home.c
│ │ │ ├── gx_multi_line_text_input_keydown_process.c
│ │ │ ├── gx_multi_line_text_input_left_arrow.c
│ │ │ ├── gx_multi_line_text_input_mark_down.c
│ │ │ ├── gx_multi_line_text_input_mark_end.c
│ │ │ ├── gx_multi_line_text_input_mark_home.c
│ │ │ ├── gx_multi_line_text_input_mark_next.c
│ │ │ ├── gx_multi_line_text_input_mark_previous.c
│ │ │ ├── gx_multi_line_text_input_mark_up.c
│ │ │ ├── gx_multi_line_text_input_paste.c
│ │ │ ├── gx_multi_line_text_input_right_arrow.c
│ │ │ ├── gx_multi_line_text_input_style_add.c
│ │ │ ├── gx_multi_line_text_input_style_remove.c
│ │ │ ├── gx_multi_line_text_input_style_set.c
│ │ │ ├── gx_multi_line_text_input_text_color_set.c
│ │ │ ├── gx_multi_line_text_input_text_rectangle_get.c
│ │ │ ├── gx_multi_line_text_input_text_select.c
│ │ │ ├── gx_multi_line_text_input_text_set.c
│ │ │ ├── gx_multi_line_text_input_up_arrow.c
│ │ │ ├── gx_multi_line_text_view_create.c
│ │ │ ├── gx_multi_line_text_view_display_info_get.c
│ │ │ ├── gx_multi_line_text_view_draw.c
│ │ │ ├── gx_multi_line_text_view_event_process.c
│ │ │ ├── gx_multi_line_text_view_font_set.c
│ │ │ ├── gx_multi_line_text_view_line_cache_update.c
│ │ │ ├── gx_multi_line_text_view_line_space_set.c
│ │ │ ├── gx_multi_line_text_view_scroll.c
│ │ │ ├── gx_multi_line_text_view_scroll_info_get.c
│ │ │ ├── gx_multi_line_text_view_string_total_rows_compute.c
│ │ │ ├── gx_multi_line_text_view_text_color_set.c
│ │ │ ├── gx_multi_line_text_view_text_draw.c
│ │ │ ├── gx_multi_line_text_view_text_id_set.c
│ │ │ ├── gx_multi_line_text_view_text_set.c
│ │ │ ├── gx_multi_line_text_view_visible_rows_compute.c
│ │ │ ├── gx_multi_line_text_view_whitespace_set.c
│ │ │ ├── gx_numeric_pixelmap_prompt_create.c
│ │ │ ├── gx_numeric_pixelmap_prompt_format.c
│ │ │ ├── gx_numeric_pixelmap_prompt_format_function_set.c
│ │ │ ├── gx_numeric_pixelmap_prompt_value_set.c
│ │ │ ├── gx_numeric_prompt_create.c
│ │ │ ├── gx_numeric_prompt_format.c
│ │ │ ├── gx_numeric_prompt_format_function_set.c
│ │ │ ├── gx_numeric_prompt_value_set.c
│ │ │ ├── gx_numeric_scroll_wheel_create.c
│ │ │ ├── gx_numeric_scroll_wheel_range_set.c
│ │ │ ├── gx_numeric_scroll_wheel_text_get.c
│ │ │ ├── gx_pixelmap_button_create.c
│ │ │ ├── gx_pixelmap_button_draw.c
│ │ │ ├── gx_pixelmap_button_event_process.c
│ │ │ ├── gx_pixelmap_button_pixelmap_set.c
│ │ │ ├── gx_pixelmap_button_transparent_detect.c
│ │ │ ├── gx_pixelmap_prompt_background_draw.c
│ │ │ ├── gx_pixelmap_prompt_create.c
│ │ │ ├── gx_pixelmap_prompt_draw.c
│ │ │ ├── gx_pixelmap_prompt_pixelmap_set.c
│ │ │ ├── gx_pixelmap_slider_create.c
│ │ │ ├── gx_pixelmap_slider_draw.c
│ │ │ ├── gx_pixelmap_slider_event_process.c
│ │ │ ├── gx_pixelmap_slider_pixelmap_set.c
│ │ │ ├── gx_pixelmap_slider_pixelmap_update.c
│ │ │ ├── gx_popup_list_event_process.c
│ │ │ ├── gx_progress_bar_background_draw.c
│ │ │ ├── gx_progress_bar_create.c
│ │ │ ├── gx_progress_bar_draw.c
│ │ │ ├── gx_progress_bar_event_process.c
│ │ │ ├── gx_progress_bar_font_set.c
│ │ │ ├── gx_progress_bar_info_set.c
│ │ │ ├── gx_progress_bar_pixelmap_set.c
│ │ │ ├── gx_progress_bar_range_set.c
│ │ │ ├── gx_progress_bar_text_color_set.c
│ │ │ ├── gx_progress_bar_text_draw.c
│ │ │ ├── gx_progress_bar_value_set.c
│ │ │ ├── gx_prompt_create.c
│ │ │ ├── gx_prompt_draw.c
│ │ │ ├── gx_prompt_font_set.c
│ │ │ ├── gx_prompt_text_color_set.c
│ │ │ ├── gx_prompt_text_draw.c
│ │ │ ├── gx_prompt_text_get.c
│ │ │ ├── gx_prompt_text_id_set.c
│ │ │ ├── gx_prompt_text_set.c
│ │ │ ├── gx_radial_progress_bar_anchor_set.c
│ │ │ ├── gx_radial_progress_bar_background_draw.c
│ │ │ ├── gx_radial_progress_bar_create.c
│ │ │ ├── gx_radial_progress_bar_draw.c
│ │ │ ├── gx_radial_progress_bar_event_process.c
│ │ │ ├── gx_radial_progress_bar_font_set.c
│ │ │ ├── gx_radial_progress_bar_info_set.c
│ │ │ ├── gx_radial_progress_bar_resize.c
│ │ │ ├── gx_radial_progress_bar_size_update.c
│ │ │ ├── gx_radial_progress_bar_text_color_set.c
│ │ │ ├── gx_radial_progress_bar_text_draw.c
│ │ │ ├── gx_radial_progress_bar_value_calculate.c
│ │ │ ├── gx_radial_progress_bar_value_set.c
│ │ │ ├── gx_radial_slider_anchor_angle_calculate.c
│ │ │ ├── gx_radial_slider_anchor_angles_set.c
│ │ │ ├── gx_radial_slider_angle_calculate.c
│ │ │ ├── gx_radial_slider_angle_set.c
│ │ │ ├── gx_radial_slider_animation_set.c
│ │ │ ├── gx_radial_slider_animation_start.c
│ │ │ ├── gx_radial_slider_animation_update.c
│ │ │ ├── gx_radial_slider_create.c
│ │ │ ├── gx_radial_slider_draw.c
│ │ │ ├── gx_radial_slider_event_process.c
│ │ │ ├── gx_radial_slider_info_get.c
│ │ │ ├── gx_radial_slider_info_set.c
│ │ │ ├── gx_radial_slider_needle_rectangle_calculate.c
│ │ │ ├── gx_radial_slider_pixelmap_set.c
│ │ │ ├── gx_radio_button_create.c
│ │ │ ├── gx_radio_button_draw.c
│ │ │ ├── gx_radio_button_pixelmap_set.c
│ │ │ ├── gx_screen_stack_create.c
│ │ │ ├── gx_screen_stack_pop.c
│ │ │ ├── gx_screen_stack_push.c
│ │ │ ├── gx_screen_stack_reset.c
│ │ │ ├── gx_scroll_thumb_create.c
│ │ │ ├── gx_scroll_thumb_draw.c
│ │ │ ├── gx_scroll_thumb_event_process.c
│ │ │ ├── gx_scroll_thumb_shift_limit.c
│ │ │ ├── gx_scroll_wheel_create.c
│ │ │ ├── gx_scroll_wheel_event_process.c
│ │ │ ├── gx_scroll_wheel_gradient_alpha_set.c
│ │ │ ├── gx_scroll_wheel_gradient_create.c
│ │ │ ├── gx_scroll_wheel_row_height_set.c
│ │ │ ├── gx_scroll_wheel_scroll.c
│ │ │ ├── gx_scroll_wheel_selected_background_set.c
│ │ │ ├── gx_scroll_wheel_selected_get.c
│ │ │ ├── gx_scroll_wheel_selected_row_calculate.c
│ │ │ ├── gx_scroll_wheel_selected_set.c
│ │ │ ├── gx_scroll_wheel_speed_set.c
│ │ │ ├── gx_scroll_wheel_total_rows_set.c
│ │ │ ├── gx_scrollbar_draw.c
│ │ │ ├── gx_scrollbar_event_process.c
│ │ │ ├── gx_scrollbar_limit_check.c
│ │ │ ├── gx_scrollbar_reset.c
│ │ │ ├── gx_scrollbar_size_update.c
│ │ │ ├── gx_scrollbar_thumb_position_calculate.c
│ │ │ ├── gx_scrollbar_value_calculate.c
│ │ │ ├── gx_scrollbar_value_set.c
│ │ │ ├── gx_single_line_text_input_backspace.c
│ │ │ ├── gx_single_line_text_input_buffer_clear.c
│ │ │ ├── gx_single_line_text_input_buffer_get.c
│ │ │ ├── gx_single_line_text_input_character_delete.c
│ │ │ ├── gx_single_line_text_input_character_insert.c
│ │ │ ├── gx_single_line_text_input_copy.c
│ │ │ ├── gx_single_line_text_input_create.c
│ │ │ ├── gx_single_line_text_input_cut.c
│ │ │ ├── gx_single_line_text_input_draw.c
│ │ │ ├── gx_single_line_text_input_draw_position_get.c
│ │ │ ├── gx_single_line_text_input_end.c
│ │ │ ├── gx_single_line_text_input_event_process.c
│ │ │ ├── gx_single_line_text_input_fill_color_set.c
│ │ │ ├── gx_single_line_text_input_home.c
│ │ │ ├── gx_single_line_text_input_keydown_process.c
│ │ │ ├── gx_single_line_text_input_left_arrow.c
│ │ │ ├── gx_single_line_text_input_mark_end.c
│ │ │ ├── gx_single_line_text_input_mark_home.c
│ │ │ ├── gx_single_line_text_input_mark_next.c
│ │ │ ├── gx_single_line_text_input_mark_previous.c
│ │ │ ├── gx_single_line_text_input_paste.c
│ │ │ ├── gx_single_line_text_input_position_get.c
│ │ │ ├── gx_single_line_text_input_position_update.c
│ │ │ ├── gx_single_line_text_input_right_arrow.c
│ │ │ ├── gx_single_line_text_input_style_add.c
│ │ │ ├── gx_single_line_text_input_style_remove.c
│ │ │ ├── gx_single_line_text_input_style_set.c
│ │ │ ├── gx_single_line_text_input_text_color_set.c
│ │ │ ├── gx_single_line_text_input_text_rectangle_get.c
│ │ │ ├── gx_single_line_text_input_text_select.c
│ │ │ ├── gx_single_line_text_input_text_set.c
│ │ │ ├── gx_slider_create.c
│ │ │ ├── gx_slider_draw.c
│ │ │ ├── gx_slider_event_process.c
│ │ │ ├── gx_slider_info_set.c
│ │ │ ├── gx_slider_needle_draw.c
│ │ │ ├── gx_slider_needle_position_get.c
│ │ │ ├── gx_slider_tickmarks_draw.c
│ │ │ ├── gx_slider_travel_get.c
│ │ │ ├── gx_slider_value_calculate.c
│ │ │ ├── gx_slider_value_set.c
│ │ │ ├── gx_sprite_create.c
│ │ │ ├── gx_sprite_current_frame_set.c
│ │ │ ├── gx_sprite_draw.c
│ │ │ ├── gx_sprite_event_process.c
│ │ │ ├── gx_sprite_frame_list_set.c
│ │ │ ├── gx_sprite_start.c
│ │ │ ├── gx_sprite_stop.c
│ │ │ ├── gx_sprite_update.c
│ │ │ ├── gx_string_scroll_wheel_create.c
│ │ │ ├── gx_string_scroll_wheel_string_id_list_set.c
│ │ │ ├── gx_string_scroll_wheel_string_list_set.c
│ │ │ ├── gx_string_scroll_wheel_text_get.c
│ │ │ ├── gx_system_active_language_set.c
│ │ │ ├── gx_system_all_canvas_dirty.c
│ │ │ ├── gx_system_all_views_free.c
│ │ │ ├── gx_system_animation_free.c
│ │ │ ├── gx_system_animation_get.c
│ │ │ ├── gx_system_bidi_text_disable.c
│ │ │ ├── gx_system_bidi_text_enable.c
│ │ │ ├── gx_system_canvas_refresh.c
│ │ │ ├── gx_system_clipboard_get.c
│ │ │ ├── gx_system_clipboard_put.c
│ │ │ ├── gx_system_dirty_list_remove.c
│ │ │ ├── gx_system_dirty_list_trim.c
│ │ │ ├── gx_system_dirty_mark.c
│ │ │ ├── gx_system_dirty_partial_add.c
│ │ │ ├── gx_system_draw_context_get.c
│ │ │ ├── gx_system_error_process.c
│ │ │ ├── gx_system_event_dispatch.c
│ │ │ ├── gx_system_event_fold.c
│ │ │ ├── gx_system_event_remove.c
│ │ │ ├── gx_system_event_send.c
│ │ │ ├── gx_system_focus_claim.c
│ │ │ ├── gx_system_font_4bpp.c
│ │ │ ├── gx_system_font_8bpp.c
│ │ │ ├── gx_system_font_mono.c
│ │ │ ├── gx_system_free_view_get.c
│ │ │ ├── gx_system_initialize.c
│ │ │ ├── gx_system_input_capture.c
│ │ │ ├── gx_system_input_release.c
│ │ │ ├── gx_system_language_table_get.c
│ │ │ ├── gx_system_language_table_set.c
│ │ │ ├── gx_system_lock.c
│ │ │ ├── gx_system_memory_allocator_set.c
│ │ │ ├── gx_system_pen_configure.c
│ │ │ ├── gx_system_pen_flick_test.c
│ │ │ ├── gx_system_pen_speed_init.c
│ │ │ ├── gx_system_pen_speed_update.c
│ │ │ ├── gx_system_private_string.c
│ │ │ ├── gx_system_root_view_add.c
│ │ │ ├── gx_system_rtos_bind.c
│ │ │ ├── gx_system_screen_stack_create.c
│ │ │ ├── gx_system_screen_stack_get.c
│ │ │ ├── gx_system_screen_stack_pop.c
│ │ │ ├── gx_system_screen_stack_push.c
│ │ │ ├── gx_system_screen_stack_reset.c
│ │ │ ├── gx_system_scroll_appearance_get.c
│ │ │ ├── gx_system_scroll_appearance_set.c
│ │ │ ├── gx_system_start.c
│ │ │ ├── gx_system_string_get.c
│ │ │ ├── gx_system_string_table_get.c
│ │ │ ├── gx_system_string_width_get.c
│ │ │ ├── gx_system_text_render_style_set.c
│ │ │ ├── gx_system_thread_entry.c
│ │ │ ├── gx_system_timer_expiration.c
│ │ │ ├── gx_system_timer_start.c
│ │ │ ├── gx_system_timer_stop.c
│ │ │ ├── gx_system_timer_update.c
│ │ │ ├── gx_system_top_root_find.c
│ │ │ ├── gx_system_top_widget_find.c
│ │ │ ├── gx_system_unlock.c
│ │ │ ├── gx_system_version_string_get.c
│ │ │ ├── gx_system_view_add.c
│ │ │ ├── gx_system_view_fold.c
│ │ │ ├── gx_system_view_split.c
│ │ │ ├── gx_system_views_free.c
│ │ │ ├── gx_system_views_update.c
│ │ │ ├── gx_system_widget_find.c
│ │ │ ├── gx_text_button_create.c
│ │ │ ├── gx_text_button_draw.c
│ │ │ ├── gx_text_button_font_set.c
│ │ │ ├── gx_text_button_text_color_set.c
│ │ │ ├── gx_text_button_text_draw.c
│ │ │ ├── gx_text_button_text_get.c
│ │ │ ├── gx_text_button_text_id_set.c
│ │ │ ├── gx_text_button_text_set.c
│ │ │ ├── gx_text_input_cursor_blink_interval_set.c
│ │ │ ├── gx_text_input_cursor_dirty_rectangle_get.c
│ │ │ ├── gx_text_input_cursor_draw.c
│ │ │ ├── gx_text_input_cursor_height_set.c
│ │ │ ├── gx_text_input_cursor_width_set.c
│ │ │ ├── gx_text_scroll_wheel_callback_set.c
│ │ │ ├── gx_text_scroll_wheel_create.c
│ │ │ ├── gx_text_scroll_wheel_draw.c
│ │ │ ├── gx_text_scroll_wheel_font_set.c
│ │ │ ├── gx_text_scroll_wheel_text_color_set.c
│ │ │ ├── gx_touch_driver_generic_resistive.c
│ │ │ ├── gx_tree_view_create.c
│ │ │ ├── gx_tree_view_draw.c
│ │ │ ├── gx_tree_view_event_process.c
│ │ │ ├── gx_tree_view_indentation_set.c
│ │ │ ├── gx_tree_view_position.c
│ │ │ ├── gx_tree_view_root_line_color_set.c
│ │ │ ├── gx_tree_view_root_pixelmap_set.c
│ │ │ ├── gx_tree_view_scroll.c
│ │ │ ├── gx_tree_view_scroll_info_get.c
│ │ │ ├── gx_tree_view_selected_get.c
│ │ │ ├── gx_tree_view_selected_set.c
│ │ │ ├── gx_utility_1555xrgb_pixelmap_resize.c
│ │ │ ├── gx_utility_1555xrgb_pixelmap_rotate.c
│ │ │ ├── gx_utility_16bpp_pixelmap_resize.c
│ │ │ ├── gx_utility_1bpp_pixelmap_resize.c
│ │ │ ├── gx_utility_1bpp_pixelmap_rotate.c
│ │ │ ├── gx_utility_32argb_pixelmap_resize.c
│ │ │ ├── gx_utility_32argb_pixelmap_rotate.c
│ │ │ ├── gx_utility_332rgb_pixelmap_rotate.c
│ │ │ ├── gx_utility_4444argb_pixelmap_resize.c
│ │ │ ├── gx_utility_4444argb_pixelmap_rotate.c
│ │ │ ├── gx_utility_4bpp_pixelmap_resize.c
│ │ │ ├── gx_utility_4bpp_pixelmap_rotate.c
│ │ │ ├── gx_utility_565rgb_pixelmap_rotate.c
│ │ │ ├── gx_utility_8bpp_pixelmap_resize.c
│ │ │ ├── gx_utility_8bpp_pixelmap_rotate.c
│ │ │ ├── gx_utility_alphamap_create.c
│ │ │ ├── gx_utility_bidi_bracket_pair_get.c
│ │ │ ├── gx_utility_bidi_character_type_get.c
│ │ │ ├── gx_utility_bidi_mirroring_get.c
│ │ │ ├── gx_utility_bidi_paragraph_reorder.c
│ │ │ ├── gx_utility_canvas_to_bmp.c
│ │ │ ├── gx_utility_circle_point_get.c
│ │ │ ├── gx_utility_easing_function_calculate.c
│ │ │ ├── gx_utility_gradient_create.c
│ │ │ ├── gx_utility_gradient_delete.c
│ │ │ ├── gx_utility_ltoa.c
│ │ │ ├── gx_utility_math_acos.c
│ │ │ ├── gx_utility_math_asin.c
│ │ │ ├── gx_utility_math_cos.c
│ │ │ ├── gx_utility_math_sin.c
│ │ │ ├── gx_utility_math_sqrt.c
│ │ │ ├── gx_utility_pixelmap_resize.c
│ │ │ ├── gx_utility_pixelmap_rotate.c
│ │ │ ├── gx_utility_pixelmap_simple_rotate.c
│ │ │ ├── gx_utility_rectangle_center.c
│ │ │ ├── gx_utility_rectangle_center_find.c
│ │ │ ├── gx_utility_rectangle_combine.c
│ │ │ ├── gx_utility_rectangle_compare.c
│ │ │ ├── gx_utility_rectangle_define.c
│ │ │ ├── gx_utility_rectangle_inside_detect.c
│ │ │ ├── gx_utility_rectangle_overlap_detect.c
│ │ │ ├── gx_utility_rectangle_point_detect.c
│ │ │ ├── gx_utility_rectangle_resize.c
│ │ │ ├── gx_utility_rectangle_shift.c
│ │ │ ├── gx_utility_string_length_check.c
│ │ │ ├── gx_utility_string_to_alphamap.c
│ │ │ ├── gx_utility_thai_glyph_shaping.c
│ │ │ ├── gx_utility_unicode_to_utf8.c
│ │ │ ├── gx_utility_utf8_string_backward_character_length_get.c
│ │ │ ├── gx_utility_utf8_string_character_get.c
│ │ │ ├── gx_vertical_list_children_position.c
│ │ │ ├── gx_vertical_list_create.c
│ │ │ ├── gx_vertical_list_down_wrap.c
│ │ │ ├── gx_vertical_list_event_process.c
│ │ │ ├── gx_vertical_list_page_index_set.c
│ │ │ ├── gx_vertical_list_scroll.c
│ │ │ ├── gx_vertical_list_scroll_info_get.c
│ │ │ ├── gx_vertical_list_selected_index_get.c
│ │ │ ├── gx_vertical_list_selected_set.c
│ │ │ ├── gx_vertical_list_selected_visible.c
│ │ │ ├── gx_vertical_list_selected_widget_get.c
│ │ │ ├── gx_vertical_list_slide_back_check.c
│ │ │ ├── gx_vertical_list_total_rows_set.c
│ │ │ ├── gx_vertical_list_up_wrap.c
│ │ │ ├── gx_vertical_scrollbar_create.c
│ │ │ ├── gx_widget_allocate.c
│ │ │ ├── gx_widget_attach.c
│ │ │ ├── gx_widget_back_attach.c
│ │ │ ├── gx_widget_back_link.c
│ │ │ ├── gx_widget_back_move.c
│ │ │ ├── gx_widget_background_draw.c
│ │ │ ├── gx_widget_block_move.c
│ │ │ ├── gx_widget_border_draw.c
│ │ │ ├── gx_widget_border_style_set.c
│ │ │ ├── gx_widget_border_width_get.c
│ │ │ ├── gx_widget_canvas_get.c
│ │ │ ├── gx_widget_child_clipping_update.c
│ │ │ ├── gx_widget_child_detect.c
│ │ │ ├── gx_widget_child_focus_assign.c
│ │ │ ├── gx_widget_children_draw.c
│ │ │ ├── gx_widget_children_event_process.c
│ │ │ ├── gx_widget_client_get.c
│ │ │ ├── gx_widget_client_index_get.c
│ │ │ ├── gx_widget_clipping_update.c
│ │ │ ├── gx_widget_color_get.c
│ │ │ ├── gx_widget_context_fill_set.c
│ │ │ ├── gx_widget_create.c
│ │ │ ├── gx_widget_created_test.c
│ │ │ ├── gx_widget_delete.c
│ │ │ ├── gx_widget_detach.c
│ │ │ ├── gx_widget_draw.c
│ │ │ ├── gx_widget_draw_set.c
│ │ │ ├── gx_widget_event_generate.c
│ │ │ ├── gx_widget_event_process.c
│ │ │ ├── gx_widget_event_process_set.c
│ │ │ ├── gx_widget_event_to_parent.c
│ │ │ ├── gx_widget_fill_color_set.c
│ │ │ ├── gx_widget_find.c
│ │ │ ├── gx_widget_first_child_get.c
│ │ │ ├── gx_widget_first_client_child_get.c
│ │ │ ├── gx_widget_focus_next.c
│ │ │ ├── gx_widget_focus_previous.c
│ │ │ ├── gx_widget_font_get.c
│ │ │ ├── gx_widget_free.c
│ │ │ ├── gx_widget_front_move.c
│ │ │ ├── gx_widget_height_get.c
│ │ │ ├── gx_widget_hide.c
│ │ │ ├── gx_widget_last_child_get.c
│ │ │ ├── gx_widget_last_client_child_get.c
│ │ │ ├── gx_widget_link.c
│ │ │ ├── gx_widget_nav_order_initialize.c
│ │ │ ├── gx_widget_next_client_child_get.c
│ │ │ ├── gx_widget_next_sibling_get.c
│ │ │ ├── gx_widget_parent_get.c
│ │ │ ├── gx_widget_pixelmap_get.c
│ │ │ ├── gx_widget_previous_sibling_get.c
│ │ │ ├── gx_widget_resize.c
│ │ │ ├── gx_widget_scroll_shift.c
│ │ │ ├── gx_widget_shift.c
│ │ │ ├── gx_widget_show.c
│ │ │ ├── gx_widget_status_add.c
│ │ │ ├── gx_widget_status_get.c
│ │ │ ├── gx_widget_status_remove.c
│ │ │ ├── gx_widget_status_test.c
│ │ │ ├── gx_widget_string_get.c
│ │ │ ├── gx_widget_style_add.c
│ │ │ ├── gx_widget_style_get.c
│ │ │ ├── gx_widget_style_remove.c
│ │ │ ├── gx_widget_style_set.c
│ │ │ ├── gx_widget_text_blend.c
│ │ │ ├── gx_widget_text_draw.c
│ │ │ ├── gx_widget_text_id_draw.c
│ │ │ ├── gx_widget_top_visible_child_find.c
│ │ │ ├── gx_widget_transparent_pixelmap_detect.c
│ │ │ ├── gx_widget_type_find.c
│ │ │ ├── gx_widget_unlink.c
│ │ │ ├── gx_widget_width_get.c
│ │ │ ├── gx_window_background_draw.c
│ │ │ ├── gx_window_border_draw.c
│ │ │ ├── gx_window_client_height_get.c
│ │ │ ├── gx_window_client_scroll.c
│ │ │ ├── gx_window_client_width_get.c
│ │ │ ├── gx_window_close.c
│ │ │ ├── gx_window_create.c
│ │ │ ├── gx_window_draw.c
│ │ │ ├── gx_window_event_process.c
│ │ │ ├── gx_window_execute.c
│ │ │ ├── gx_window_root_create.c
│ │ │ ├── gx_window_root_delete.c
│ │ │ ├── gx_window_root_event_process.c
│ │ │ ├── gx_window_root_find.c
│ │ │ ├── gx_window_scroll.c
│ │ │ ├── gx_window_scroll_info_get.c
│ │ │ ├── gx_window_scrollbar_find.c
│ │ │ ├── gx_window_view_update_detect.c
│ │ │ ├── gx_window_wallpaper_get.c
│ │ │ ├── gx_window_wallpaper_set.c
│ │ │ ├── gxe_accordion_menu_create.c
│ │ │ ├── gxe_accordion_menu_event_process.c
│ │ │ ├── gxe_accordion_menu_position.c
│ │ │ ├── gxe_animation_canvas_define.c
│ │ │ ├── gxe_animation_create.c
│ │ │ ├── gxe_animation_drag_disable.c
│ │ │ ├── gxe_animation_drag_enable.c
│ │ │ ├── gxe_animation_landing_speed_set.c
│ │ │ ├── gxe_animation_start.c
│ │ │ ├── gxe_animation_stop.c
│ │ │ ├── gxe_binres_language_count_get.c
│ │ │ ├── gxe_binres_language_info_load.c
│ │ │ ├── gxe_binres_language_table_load.c
│ │ │ ├── gxe_binres_theme_load.c
│ │ │ ├── gxe_brush_default.c
│ │ │ ├── gxe_brush_define.c
│ │ │ ├── gxe_button_create.c
│ │ │ ├── gxe_button_deselect.c
│ │ │ ├── gxe_button_event_process.c
│ │ │ ├── gxe_button_select.c
│ │ │ ├── gxe_canvas_alpha_set.c
│ │ │ ├── gxe_canvas_arc_draw.c
│ │ │ ├── gxe_canvas_block_move.c
│ │ │ ├── gxe_canvas_circle_draw.c
│ │ │ ├── gxe_canvas_create.c
│ │ │ ├── gxe_canvas_delete.c
│ │ │ ├── gxe_canvas_drawing_complete.c
│ │ │ ├── gxe_canvas_drawing_initiate.c
│ │ │ ├── gxe_canvas_ellipse_draw.c
│ │ │ ├── gxe_canvas_hardware_layer_bind.c
│ │ │ ├── gxe_canvas_hide.c
│ │ │ ├── gxe_canvas_line_draw.c
│ │ │ ├── gxe_canvas_memory_define.c
│ │ │ ├── gxe_canvas_mouse_define.c
│ │ │ ├── gxe_canvas_mouse_hide.c
│ │ │ ├── gxe_canvas_mouse_show.c
│ │ │ ├── gxe_canvas_offset_set.c
│ │ │ ├── gxe_canvas_pie_draw.c
│ │ │ ├── gxe_canvas_pixel_draw.c
│ │ │ ├── gxe_canvas_pixelmap_blend.c
│ │ │ ├── gxe_canvas_pixelmap_draw.c
│ │ │ ├── gxe_canvas_pixelmap_get.c
│ │ │ ├── gxe_canvas_pixelmap_rotate.c
│ │ │ ├── gxe_canvas_pixelmap_tile.c
│ │ │ ├── gxe_canvas_polygon_draw.c
│ │ │ ├── gxe_canvas_rectangle_draw.c
│ │ │ ├── gxe_canvas_rotated_text_draw.c
│ │ │ ├── gxe_canvas_shift.c
│ │ │ ├── gxe_canvas_show.c
│ │ │ ├── gxe_canvas_text_draw.c
│ │ │ ├── gxe_checkbox_create.c
│ │ │ ├── gxe_checkbox_event_process.c
│ │ │ ├── gxe_checkbox_pixelmap_set.c
│ │ │ ├── gxe_checkbox_select.c
│ │ │ ├── gxe_circular_gauge_angle_get.c
│ │ │ ├── gxe_circular_gauge_angle_set.c
│ │ │ ├── gxe_circular_gauge_animation_set.c
│ │ │ ├── gxe_circular_gauge_create.c
│ │ │ ├── gxe_circular_gauge_event_process.c
│ │ │ ├── gxe_context_brush_default.c
│ │ │ ├── gxe_context_brush_define.c
│ │ │ ├── gxe_context_brush_get.c
│ │ │ ├── gxe_context_brush_pattern_set.c
│ │ │ ├── gxe_context_brush_set.c
│ │ │ ├── gxe_context_brush_style_set.c
│ │ │ ├── gxe_context_brush_width_set.c
│ │ │ ├── gxe_context_color_get.c
│ │ │ ├── gxe_context_fill_color_set.c
│ │ │ ├── gxe_context_font_get.c
│ │ │ ├── gxe_context_font_set.c
│ │ │ ├── gxe_context_line_color_set.c
│ │ │ ├── gxe_context_pixelmap_get.c
│ │ │ ├── gxe_context_pixelmap_set.c
│ │ │ ├── gxe_context_raw_brush_define.c
│ │ │ ├── gxe_context_raw_fill_color_set.c
│ │ │ ├── gxe_context_raw_line_color_set.c
│ │ │ ├── gxe_context_string_get.c
│ │ │ ├── gxe_display_active_language_set.c
│ │ │ ├── gxe_display_color_set.c
│ │ │ ├── gxe_display_color_table_set.c
│ │ │ ├── gxe_display_create.c
│ │ │ ├── gxe_display_delete.c
│ │ │ ├── gxe_display_font_table_set.c
│ │ │ ├── gxe_display_language_table_get.c
│ │ │ ├── gxe_display_language_table_set.c
│ │ │ ├── gxe_display_pixelmap_table_set.c
│ │ │ ├── gxe_display_string_get.c
│ │ │ ├── gxe_display_string_table_get.c
│ │ │ ├── gxe_display_theme_install.c
│ │ │ ├── gxe_drop_list_close.c
│ │ │ ├── gxe_drop_list_create.c
│ │ │ ├── gxe_drop_list_event_process.c
│ │ │ ├── gxe_drop_list_open.c
│ │ │ ├── gxe_drop_list_pixelmap_set.c
│ │ │ ├── gxe_drop_list_popup_get.c
│ │ │ ├── gxe_horizontal_list_children_position.c
│ │ │ ├── gxe_horizontal_list_create.c
│ │ │ ├── gxe_horizontal_list_event_process.c
│ │ │ ├── gxe_horizontal_list_page_index_set.c
│ │ │ ├── gxe_horizontal_list_selected_index_get.c
│ │ │ ├── gxe_horizontal_list_selected_set.c
│ │ │ ├── gxe_horizontal_list_selected_widget_get.c
│ │ │ ├── gxe_horizontal_list_total_columns_set.c
│ │ │ ├── gxe_horizontal_scrollbar_create.c
│ │ │ ├── gxe_icon_button_create.c
│ │ │ ├── gxe_icon_button_pixelmap_set.c
│ │ │ ├── gxe_icon_create.c
│ │ │ ├── gxe_icon_event_process.c
│ │ │ ├── gxe_icon_pixelmap_set.c
│ │ │ ├── gxe_image_reader_create.c
│ │ │ ├── gxe_image_reader_palette_set.c
│ │ │ ├── gxe_image_reader_start.c
│ │ │ ├── gxe_line_chart_create.c
│ │ │ ├── gxe_line_chart_update.c
│ │ │ ├── gxe_line_chart_y_scale_calculate.c
│ │ │ ├── gxe_menu_create.c
│ │ │ ├── gxe_menu_insert.c
│ │ │ ├── gxe_menu_remove.c
│ │ │ ├── gxe_menu_text_offset_set.c
│ │ │ ├── gxe_multi_line_text_button_create.c
│ │ │ ├── gxe_multi_line_text_button_event_process.c
│ │ │ ├── gxe_multi_line_text_button_text_id_set.c
│ │ │ ├── gxe_multi_line_text_button_text_set.c
│ │ │ ├── gxe_multi_line_text_input_backspace.c
│ │ │ ├── gxe_multi_line_text_input_buffer_clear.c
│ │ │ ├── gxe_multi_line_text_input_buffer_get.c
│ │ │ ├── gxe_multi_line_text_input_char_insert.c
│ │ │ ├── gxe_multi_line_text_input_create.c
│ │ │ ├── gxe_multi_line_text_input_cursor_pos_get.c
│ │ │ ├── gxe_multi_line_text_input_delete.c
│ │ │ ├── gxe_multi_line_text_input_down_arrow.c
│ │ │ ├── gxe_multi_line_text_input_end.c
│ │ │ ├── gxe_multi_line_text_input_event_process.c
│ │ │ ├── gxe_multi_line_text_input_fill_color_set.c
│ │ │ ├── gxe_multi_line_text_input_home.c
│ │ │ ├── gxe_multi_line_text_input_left_arrow.c
│ │ │ ├── gxe_multi_line_text_input_right_arrow.c
│ │ │ ├── gxe_multi_line_text_input_style_add.c
│ │ │ ├── gxe_multi_line_text_input_style_remove.c
│ │ │ ├── gxe_multi_line_text_input_style_set.c
│ │ │ ├── gxe_multi_line_text_input_text_color_set.c
│ │ │ ├── gxe_multi_line_text_input_text_select.c
│ │ │ ├── gxe_multi_line_text_input_text_set.c
│ │ │ ├── gxe_multi_line_text_input_up_arrow.c
│ │ │ ├── gxe_multi_line_text_view_create.c
│ │ │ ├── gxe_multi_line_text_view_event_process.c
│ │ │ ├── gxe_multi_line_text_view_font_set.c
│ │ │ ├── gxe_multi_line_text_view_line_space_set.c
│ │ │ ├── gxe_multi_line_text_view_scroll_info_get.c
│ │ │ ├── gxe_multi_line_text_view_text_color_set.c
│ │ │ ├── gxe_multi_line_text_view_text_id_set.c
│ │ │ ├── gxe_multi_line_text_view_text_set.c
│ │ │ ├── gxe_multi_line_text_view_whitespace_set.c
│ │ │ ├── gxe_numeric_pixelmap_prompt_create.c
│ │ │ ├── gxe_numeric_pixelmap_prompt_format_function_set.c
│ │ │ ├── gxe_numeric_pixelmap_prompt_value_set.c
│ │ │ ├── gxe_numeric_prompt_create.c
│ │ │ ├── gxe_numeric_prompt_format_function_set.c
│ │ │ ├── gxe_numeric_prompt_value_set.c
│ │ │ ├── gxe_numeric_scroll_wheel_create.c
│ │ │ ├── gxe_numeric_scroll_wheel_range_set.c
│ │ │ ├── gxe_pixelmap_button_create.c
│ │ │ ├── gxe_pixelmap_button_event_process.c
│ │ │ ├── gxe_pixelmap_button_pixelmap_set.c
│ │ │ ├── gxe_pixelmap_prompt_create.c
│ │ │ ├── gxe_pixelmap_prompt_pixelmap_set.c
│ │ │ ├── gxe_pixelmap_slider_create.c
│ │ │ ├── gxe_pixelmap_slider_event_process.c
│ │ │ ├── gxe_pixelmap_slider_pixelmap_set.c
│ │ │ ├── gxe_progress_bar_create.c
│ │ │ ├── gxe_progress_bar_event_process.c
│ │ │ ├── gxe_progress_bar_font_set.c
│ │ │ ├── gxe_progress_bar_info_set.c
│ │ │ ├── gxe_progress_bar_pixelmap_set.c
│ │ │ ├── gxe_progress_bar_range_set.c
│ │ │ ├── gxe_progress_bar_text_color_set.c
│ │ │ ├── gxe_progress_bar_value_set.c
│ │ │ ├── gxe_prompt_create.c
│ │ │ ├── gxe_prompt_font_set.c
│ │ │ ├── gxe_prompt_text_color_set.c
│ │ │ ├── gxe_prompt_text_get.c
│ │ │ ├── gxe_prompt_text_id_set.c
│ │ │ ├── gxe_prompt_text_set.c
│ │ │ ├── gxe_radial_progress_bar_anchor_set.c
│ │ │ ├── gxe_radial_progress_bar_create.c
│ │ │ ├── gxe_radial_progress_bar_event_process.c
│ │ │ ├── gxe_radial_progress_bar_font_set.c
│ │ │ ├── gxe_radial_progress_bar_info_set.c
│ │ │ ├── gxe_radial_progress_bar_text_color_set.c
│ │ │ ├── gxe_radial_progress_bar_value_set.c
│ │ │ ├── gxe_radial_slider_anchor_angles_set.c
│ │ │ ├── gxe_radial_slider_angle_set.c
│ │ │ ├── gxe_radial_slider_animation_set.c
│ │ │ ├── gxe_radial_slider_animation_start.c
│ │ │ ├── gxe_radial_slider_create.c
│ │ │ ├── gxe_radial_slider_event_process.c
│ │ │ ├── gxe_radial_slider_info_get.c
│ │ │ ├── gxe_radial_slider_info_set.c
│ │ │ ├── gxe_radial_slider_pixelmap_set.c
│ │ │ ├── gxe_radio_button_create.c
│ │ │ ├── gxe_radio_button_pixelmap_set.c
│ │ │ ├── gxe_screen_stack_create.c
│ │ │ ├── gxe_screen_stack_pop.c
│ │ │ ├── gxe_screen_stack_push.c
│ │ │ ├── gxe_screen_stack_reset.c
│ │ │ ├── gxe_scroll_thumb_create.c
│ │ │ ├── gxe_scroll_thumb_event_process.c
│ │ │ ├── gxe_scroll_wheel_create.c
│ │ │ ├── gxe_scroll_wheel_event_process.c
│ │ │ ├── gxe_scroll_wheel_gradient_alpha_set.c
│ │ │ ├── gxe_scroll_wheel_row_height_set.c
│ │ │ ├── gxe_scroll_wheel_selected_background_set.c
│ │ │ ├── gxe_scroll_wheel_selected_get.c
│ │ │ ├── gxe_scroll_wheel_selected_set.c
│ │ │ ├── gxe_scroll_wheel_speed_set.c
│ │ │ ├── gxe_scroll_wheel_total_rows_set.c
│ │ │ ├── gxe_scrollbar_event_process.c
│ │ │ ├── gxe_scrollbar_limit_check.c
│ │ │ ├── gxe_scrollbar_reset.c
│ │ │ ├── gxe_scrollbar_value_set.c
│ │ │ ├── gxe_single_line_text_input_backspace.c
│ │ │ ├── gxe_single_line_text_input_buffer_clear.c
│ │ │ ├── gxe_single_line_text_input_buffer_get.c
│ │ │ ├── gxe_single_line_text_input_character_delete.c
│ │ │ ├── gxe_single_line_text_input_character_insert.c
│ │ │ ├── gxe_single_line_text_input_create.c
│ │ │ ├── gxe_single_line_text_input_draw_position_get.c
│ │ │ ├── gxe_single_line_text_input_end.c
│ │ │ ├── gxe_single_line_text_input_event_process.c
│ │ │ ├── gxe_single_line_text_input_fill_color_set.c
│ │ │ ├── gxe_single_line_text_input_home.c
│ │ │ ├── gxe_single_line_text_input_left_arrow.c
│ │ │ ├── gxe_single_line_text_input_position_get.c
│ │ │ ├── gxe_single_line_text_input_right_arrow.c
│ │ │ ├── gxe_single_line_text_input_style_add.c
│ │ │ ├── gxe_single_line_text_input_style_remove.c
│ │ │ ├── gxe_single_line_text_input_style_set.c
│ │ │ ├── gxe_single_line_text_input_text_color_set.c
│ │ │ ├── gxe_single_line_text_input_text_select.c
│ │ │ ├── gxe_single_line_text_input_text_set.c
│ │ │ ├── gxe_slider_create.c
│ │ │ ├── gxe_slider_event_process.c
│ │ │ ├── gxe_slider_info_set.c
│ │ │ ├── gxe_slider_needle_position_get.c
│ │ │ ├── gxe_slider_travel_get.c
│ │ │ ├── gxe_slider_value_calculate.c
│ │ │ ├── gxe_slider_value_set.c
│ │ │ ├── gxe_sprite_create.c
│ │ │ ├── gxe_sprite_current_frame_set.c
│ │ │ ├── gxe_sprite_frame_list_set.c
│ │ │ ├── gxe_sprite_start.c
│ │ │ ├── gxe_sprite_stop.c
│ │ │ ├── gxe_string_scroll_wheel_create.c
│ │ │ ├── gxe_string_scroll_wheel_string_id_list_set.c
│ │ │ ├── gxe_string_scroll_wheel_string_list_set.c
│ │ │ ├── gxe_system_active_language_set.c
│ │ │ ├── gxe_system_animation_free.c
│ │ │ ├── gxe_system_animation_get.c
│ │ │ ├── gxe_system_canvas_refresh.c
│ │ │ ├── gxe_system_dirty_mark.c
│ │ │ ├── gxe_system_dirty_partial_add.c
│ │ │ ├── gxe_system_draw_context_get.c
│ │ │ ├── gxe_system_event_fold.c
│ │ │ ├── gxe_system_event_send.c
│ │ │ ├── gxe_system_focus_claim.c
│ │ │ ├── gxe_system_initialize.c
│ │ │ ├── gxe_system_language_table_get.c
│ │ │ ├── gxe_system_language_table_set.c
│ │ │ ├── gxe_system_memory_allocator_set.c
│ │ │ ├── gxe_system_pen_configure.c
│ │ │ ├── gxe_system_screen_stack_create.c
│ │ │ ├── gxe_system_screen_stack_get.c
│ │ │ ├── gxe_system_screen_stack_pop.c
│ │ │ ├── gxe_system_screen_stack_push.c
│ │ │ ├── gxe_system_scroll_appearance_get.c
│ │ │ ├── gxe_system_scroll_appearance_set.c
│ │ │ ├── gxe_system_start.c
│ │ │ ├── gxe_system_string_get.c
│ │ │ ├── gxe_system_string_table_get.c
│ │ │ ├── gxe_system_string_width_get.c
│ │ │ ├── gxe_system_timer_start.c
│ │ │ ├── gxe_system_timer_stop.c
│ │ │ ├── gxe_system_version_string_get.c
│ │ │ ├── gxe_system_widget_find.c
│ │ │ ├── gxe_text_button_create.c
│ │ │ ├── gxe_text_button_font_set.c
│ │ │ ├── gxe_text_button_text_color_set.c
│ │ │ ├── gxe_text_button_text_get.c
│ │ │ ├── gxe_text_button_text_id_set.c
│ │ │ ├── gxe_text_button_text_set.c
│ │ │ ├── gxe_text_input_cursor_blink_interval_set.c
│ │ │ ├── gxe_text_input_cursor_height_set.c
│ │ │ ├── gxe_text_input_cursor_width_set.c
│ │ │ ├── gxe_text_scroll_wheel_callback_set.c
│ │ │ ├── gxe_text_scroll_wheel_create.c
│ │ │ ├── gxe_text_scroll_wheel_font_set.c
│ │ │ ├── gxe_text_scroll_wheel_text_color_set.c
│ │ │ ├── gxe_tree_view_create.c
│ │ │ ├── gxe_tree_view_event_process.c
│ │ │ ├── gxe_tree_view_indentation_set.c
│ │ │ ├── gxe_tree_view_position.c
│ │ │ ├── gxe_tree_view_root_line_color_set.c
│ │ │ ├── gxe_tree_view_root_pixelmap_set.c
│ │ │ ├── gxe_tree_view_selected_get.c
│ │ │ ├── gxe_tree_view_selected_set.c
│ │ │ ├── gxe_utility_canvas_to_bmp.c
│ │ │ ├── gxe_utility_circle_point_get.c
│ │ │ ├── gxe_utility_gradient_create.c
│ │ │ ├── gxe_utility_gradient_delete.c
│ │ │ ├── gxe_utility_ltoa.c
│ │ │ ├── gxe_utility_pixelmap_resize.c
│ │ │ ├── gxe_utility_pixelmap_rotate.c
│ │ │ ├── gxe_utility_pixelmap_simple_rotate.c
│ │ │ ├── gxe_utility_rectangle_center.c
│ │ │ ├── gxe_utility_rectangle_center_find.c
│ │ │ ├── gxe_utility_rectangle_combine.c
│ │ │ ├── gxe_utility_rectangle_compare.c
│ │ │ ├── gxe_utility_rectangle_define.c
│ │ │ ├── gxe_utility_rectangle_overlap_detect.c
│ │ │ ├── gxe_utility_rectangle_point_detect.c
│ │ │ ├── gxe_utility_rectangle_resize.c
│ │ │ ├── gxe_utility_rectangle_shift.c
│ │ │ ├── gxe_utility_string_to_alphamap.c
│ │ │ ├── gxe_vertical_list_children_position.c
│ │ │ ├── gxe_vertical_list_create.c
│ │ │ ├── gxe_vertical_list_event_process.c
│ │ │ ├── gxe_vertical_list_page_index_set.c
│ │ │ ├── gxe_vertical_list_selected_index_get.c
│ │ │ ├── gxe_vertical_list_selected_set.c
│ │ │ ├── gxe_vertical_list_selected_widget_get.c
│ │ │ ├── gxe_vertical_list_total_rows_set.c
│ │ │ ├── gxe_vertical_scrollbar_create.c
│ │ │ ├── gxe_widget_allocate.c
│ │ │ ├── gxe_widget_attach.c
│ │ │ ├── gxe_widget_back_attach.c
│ │ │ ├── gxe_widget_back_move.c
│ │ │ ├── gxe_widget_block_move.c
│ │ │ ├── gxe_widget_border_style_set.c
│ │ │ ├── gxe_widget_border_width_get.c
│ │ │ ├── gxe_widget_canvas_get.c
│ │ │ ├── gxe_widget_child_detect.c
│ │ │ ├── gxe_widget_client_get.c
│ │ │ ├── gxe_widget_color_get.c
│ │ │ ├── gxe_widget_create.c
│ │ │ ├── gxe_widget_created_test.c
│ │ │ ├── gxe_widget_delete.c
│ │ │ ├── gxe_widget_detach.c
│ │ │ ├── gxe_widget_draw_set.c
│ │ │ ├── gxe_widget_event_generate.c
│ │ │ ├── gxe_widget_event_process.c
│ │ │ ├── gxe_widget_event_process_set.c
│ │ │ ├── gxe_widget_event_to_parent.c
│ │ │ ├── gxe_widget_fill_color_set.c
│ │ │ ├── gxe_widget_find.c
│ │ │ ├── gxe_widget_first_child_get.c
│ │ │ ├── gxe_widget_focus_next.c
│ │ │ ├── gxe_widget_focus_previous.c
│ │ │ ├── gxe_widget_font_get.c
│ │ │ ├── gxe_widget_free.c
│ │ │ ├── gxe_widget_front_move.c
│ │ │ ├── gxe_widget_height_get.c
│ │ │ ├── gxe_widget_hide.c
│ │ │ ├── gxe_widget_last_child_get.c
│ │ │ ├── gxe_widget_next_sibling_get.c
│ │ │ ├── gxe_widget_parent_get.c
│ │ │ ├── gxe_widget_pixelmap_get.c
│ │ │ ├── gxe_widget_previous_sibling_get.c
│ │ │ ├── gxe_widget_resize.c
│ │ │ ├── gxe_widget_shift.c
│ │ │ ├── gxe_widget_show.c
│ │ │ ├── gxe_widget_status_add.c
│ │ │ ├── gxe_widget_status_get.c
│ │ │ ├── gxe_widget_status_remove.c
│ │ │ ├── gxe_widget_status_test.c
│ │ │ ├── gxe_widget_string_get.c
│ │ │ ├── gxe_widget_style_add.c
│ │ │ ├── gxe_widget_style_get.c
│ │ │ ├── gxe_widget_style_remove.c
│ │ │ ├── gxe_widget_style_set.c
│ │ │ ├── gxe_widget_text_blend.c
│ │ │ ├── gxe_widget_top_visible_child_find.c
│ │ │ ├── gxe_widget_type_find.c
│ │ │ ├── gxe_widget_width_get.c
│ │ │ ├── gxe_window_client_height_get.c
│ │ │ ├── gxe_window_client_scroll.c
│ │ │ ├── gxe_window_client_width_get.c
│ │ │ ├── gxe_window_close.c
│ │ │ ├── gxe_window_create.c
│ │ │ ├── gxe_window_event_process.c
│ │ │ ├── gxe_window_execute.c
│ │ │ ├── gxe_window_root_create.c
│ │ │ ├── gxe_window_root_delete.c
│ │ │ ├── gxe_window_root_event_process.c
│ │ │ ├── gxe_window_root_find.c
│ │ │ ├── gxe_window_scroll_info_get.c
│ │ │ ├── gxe_window_scrollbar_find.c
│ │ │ ├── gxe_window_wallpaper_get.c
│ │ │ └── gxe_window_wallpaper_set.c
│ └── ports
│ │ └── inc
│ │ └── gx_port.h
├── Inc
│ ├── gpio.h
│ ├── i2c.h
│ ├── main.h
│ ├── stm32f4xx_hal_conf.h
│ ├── stm32f4xx_it.h
│ └── usart.h
├── Src
│ ├── gpio.c
│ ├── i2c.c
│ ├── main.c
│ ├── stm32f4xx_hal_msp.c
│ ├── stm32f4xx_it.c
│ ├── syscalls.c
│ ├── sysmem.c
│ ├── system_stm32f4xx.c
│ └── usart.c
├── Startup
│ └── startup_stm32f407zetx.s
└── ThreadX
│ ├── common
│ ├── inc
│ │ ├── tx_api.h
│ │ ├── tx_block_pool.h
│ │ ├── tx_byte_pool.h
│ │ ├── tx_event_flags.h
│ │ ├── tx_initialize.h
│ │ ├── tx_mutex.h
│ │ ├── tx_queue.h
│ │ ├── tx_semaphore.h
│ │ ├── tx_thread.h
│ │ ├── tx_timer.h
│ │ ├── tx_trace.h
│ │ └── tx_user_sample.h
│ └── src
│ │ ├── tx_block_allocate.c
│ │ ├── tx_block_pool_cleanup.c
│ │ ├── tx_block_pool_create.c
│ │ ├── tx_block_pool_delete.c
│ │ ├── tx_block_pool_info_get.c
│ │ ├── tx_block_pool_initialize.c
│ │ ├── tx_block_pool_performance_info_get.c
│ │ ├── tx_block_pool_performance_system_info_get.c
│ │ ├── tx_block_pool_prioritize.c
│ │ ├── tx_block_release.c
│ │ ├── tx_byte_allocate.c
│ │ ├── tx_byte_pool_cleanup.c
│ │ ├── tx_byte_pool_create.c
│ │ ├── tx_byte_pool_delete.c
│ │ ├── tx_byte_pool_info_get.c
│ │ ├── tx_byte_pool_initialize.c
│ │ ├── tx_byte_pool_performance_info_get.c
│ │ ├── tx_byte_pool_performance_system_info_get.c
│ │ ├── tx_byte_pool_prioritize.c
│ │ ├── tx_byte_pool_search.c
│ │ ├── tx_byte_release.c
│ │ ├── tx_event_flags_cleanup.c
│ │ ├── tx_event_flags_create.c
│ │ ├── tx_event_flags_delete.c
│ │ ├── tx_event_flags_get.c
│ │ ├── tx_event_flags_info_get.c
│ │ ├── tx_event_flags_initialize.c
│ │ ├── tx_event_flags_performance_info_get.c
│ │ ├── tx_event_flags_performance_system_info_get.c
│ │ ├── tx_event_flags_set.c
│ │ ├── tx_event_flags_set_notify.c
│ │ ├── tx_initialize_high_level.c
│ │ ├── tx_initialize_kernel_enter.c
│ │ ├── tx_initialize_kernel_setup.c
│ │ ├── tx_misra.c
│ │ ├── tx_mutex_cleanup.c
│ │ ├── tx_mutex_create.c
│ │ ├── tx_mutex_delete.c
│ │ ├── tx_mutex_get.c
│ │ ├── tx_mutex_info_get.c
│ │ ├── tx_mutex_initialize.c
│ │ ├── tx_mutex_performance_info_get.c
│ │ ├── tx_mutex_performance_system_info_get.c
│ │ ├── tx_mutex_prioritize.c
│ │ ├── tx_mutex_priority_change.c
│ │ ├── tx_mutex_put.c
│ │ ├── tx_queue_cleanup.c
│ │ ├── tx_queue_create.c
│ │ ├── tx_queue_delete.c
│ │ ├── tx_queue_flush.c
│ │ ├── tx_queue_front_send.c
│ │ ├── tx_queue_info_get.c
│ │ ├── tx_queue_initialize.c
│ │ ├── tx_queue_performance_info_get.c
│ │ ├── tx_queue_performance_system_info_get.c
│ │ ├── tx_queue_prioritize.c
│ │ ├── tx_queue_receive.c
│ │ ├── tx_queue_send.c
│ │ ├── tx_queue_send_notify.c
│ │ ├── tx_semaphore_ceiling_put.c
│ │ ├── tx_semaphore_cleanup.c
│ │ ├── tx_semaphore_create.c
│ │ ├── tx_semaphore_delete.c
│ │ ├── tx_semaphore_get.c
│ │ ├── tx_semaphore_info_get.c
│ │ ├── tx_semaphore_initialize.c
│ │ ├── tx_semaphore_performance_info_get.c
│ │ ├── tx_semaphore_performance_system_info_get.c
│ │ ├── tx_semaphore_prioritize.c
│ │ ├── tx_semaphore_put.c
│ │ ├── tx_semaphore_put_notify.c
│ │ ├── tx_thread_create.c
│ │ ├── tx_thread_delete.c
│ │ ├── tx_thread_entry_exit_notify.c
│ │ ├── tx_thread_identify.c
│ │ ├── tx_thread_info_get.c
│ │ ├── tx_thread_initialize.c
│ │ ├── tx_thread_performance_info_get.c
│ │ ├── tx_thread_performance_system_info_get.c
│ │ ├── tx_thread_preemption_change.c
│ │ ├── tx_thread_priority_change.c
│ │ ├── tx_thread_relinquish.c
│ │ ├── tx_thread_reset.c
│ │ ├── tx_thread_resume.c
│ │ ├── tx_thread_shell_entry.c
│ │ ├── tx_thread_sleep.c
│ │ ├── tx_thread_stack_analyze.c
│ │ ├── tx_thread_stack_error_handler.c
│ │ ├── tx_thread_stack_error_notify.c
│ │ ├── tx_thread_suspend.c
│ │ ├── tx_thread_system_preempt_check.c
│ │ ├── tx_thread_system_resume.c
│ │ ├── tx_thread_system_suspend.c
│ │ ├── tx_thread_terminate.c
│ │ ├── tx_thread_time_slice.c
│ │ ├── tx_thread_time_slice_change.c
│ │ ├── tx_thread_timeout.c
│ │ ├── tx_thread_wait_abort.c
│ │ ├── tx_time_get.c
│ │ ├── tx_time_set.c
│ │ ├── tx_timer_activate.c
│ │ ├── tx_timer_change.c
│ │ ├── tx_timer_create.c
│ │ ├── tx_timer_deactivate.c
│ │ ├── tx_timer_delete.c
│ │ ├── tx_timer_expiration_process.c
│ │ ├── tx_timer_info_get.c
│ │ ├── tx_timer_initialize.c
│ │ ├── tx_timer_performance_info_get.c
│ │ ├── tx_timer_performance_system_info_get.c
│ │ ├── tx_timer_system_activate.c
│ │ ├── tx_timer_system_deactivate.c
│ │ ├── tx_timer_thread_entry.c
│ │ ├── tx_trace_buffer_full_notify.c
│ │ ├── tx_trace_disable.c
│ │ ├── tx_trace_enable.c
│ │ ├── tx_trace_event_filter.c
│ │ ├── tx_trace_event_unfilter.c
│ │ ├── tx_trace_initialize.c
│ │ ├── tx_trace_interrupt_control.c
│ │ ├── tx_trace_isr_enter_insert.c
│ │ ├── tx_trace_isr_exit_insert.c
│ │ ├── tx_trace_object_register.c
│ │ ├── tx_trace_object_unregister.c
│ │ ├── tx_trace_user_event_insert.c
│ │ ├── txe_block_allocate.c
│ │ ├── txe_block_pool_create.c
│ │ ├── txe_block_pool_delete.c
│ │ ├── txe_block_pool_info_get.c
│ │ ├── txe_block_pool_prioritize.c
│ │ ├── txe_block_release.c
│ │ ├── txe_byte_allocate.c
│ │ ├── txe_byte_pool_create.c
│ │ ├── txe_byte_pool_delete.c
│ │ ├── txe_byte_pool_info_get.c
│ │ ├── txe_byte_pool_prioritize.c
│ │ ├── txe_byte_release.c
│ │ ├── txe_event_flags_create.c
│ │ ├── txe_event_flags_delete.c
│ │ ├── txe_event_flags_get.c
│ │ ├── txe_event_flags_info_get.c
│ │ ├── txe_event_flags_set.c
│ │ ├── txe_event_flags_set_notify.c
│ │ ├── txe_mutex_create.c
│ │ ├── txe_mutex_delete.c
│ │ ├── txe_mutex_get.c
│ │ ├── txe_mutex_info_get.c
│ │ ├── txe_mutex_prioritize.c
│ │ ├── txe_mutex_put.c
│ │ ├── txe_queue_create.c
│ │ ├── txe_queue_delete.c
│ │ ├── txe_queue_flush.c
│ │ ├── txe_queue_front_send.c
│ │ ├── txe_queue_info_get.c
│ │ ├── txe_queue_prioritize.c
│ │ ├── txe_queue_receive.c
│ │ ├── txe_queue_send.c
│ │ ├── txe_queue_send_notify.c
│ │ ├── txe_semaphore_ceiling_put.c
│ │ ├── txe_semaphore_create.c
│ │ ├── txe_semaphore_delete.c
│ │ ├── txe_semaphore_get.c
│ │ ├── txe_semaphore_info_get.c
│ │ ├── txe_semaphore_prioritize.c
│ │ ├── txe_semaphore_put.c
│ │ ├── txe_semaphore_put_notify.c
│ │ ├── txe_thread_create.c
│ │ ├── txe_thread_delete.c
│ │ ├── txe_thread_entry_exit_notify.c
│ │ ├── txe_thread_info_get.c
│ │ ├── txe_thread_preemption_change.c
│ │ ├── txe_thread_priority_change.c
│ │ ├── txe_thread_relinquish.c
│ │ ├── txe_thread_reset.c
│ │ ├── txe_thread_resume.c
│ │ ├── txe_thread_suspend.c
│ │ ├── txe_thread_terminate.c
│ │ ├── txe_thread_time_slice_change.c
│ │ ├── txe_thread_wait_abort.c
│ │ ├── txe_timer_activate.c
│ │ ├── txe_timer_change.c
│ │ ├── txe_timer_create.c
│ │ ├── txe_timer_deactivate.c
│ │ ├── txe_timer_delete.c
│ │ └── txe_timer_info_get.c
│ └── ports
│ ├── inc
│ └── tx_port.h
│ └── src
│ ├── tx_initialize_low_level_sample.S
│ ├── tx_thread_context_restore.S
│ ├── tx_thread_context_save.S
│ ├── tx_thread_interrupt_control.S
│ ├── tx_thread_schedule.S
│ ├── tx_thread_stack_build.S
│ ├── tx_thread_system_return.S
│ └── tx_timer_interrupt.S
├── Drivers
├── CMSIS
│ ├── Device
│ │ └── ST
│ │ │ └── STM32F4xx
│ │ │ └── Include
│ │ │ ├── stm32f407xx.h
│ │ │ ├── stm32f4xx.h
│ │ │ └── system_stm32f4xx.h
│ └── Include
│ │ ├── cmsis_armcc.h
│ │ ├── cmsis_armclang.h
│ │ ├── cmsis_compiler.h
│ │ ├── cmsis_gcc.h
│ │ ├── cmsis_iccarm.h
│ │ ├── cmsis_version.h
│ │ ├── core_armv8mbl.h
│ │ ├── core_armv8mml.h
│ │ ├── core_cm0.h
│ │ ├── core_cm0plus.h
│ │ ├── core_cm1.h
│ │ ├── core_cm23.h
│ │ ├── core_cm3.h
│ │ ├── core_cm33.h
│ │ ├── core_cm4.h
│ │ ├── core_cm7.h
│ │ ├── core_sc000.h
│ │ ├── core_sc300.h
│ │ ├── mpu_armv7.h
│ │ ├── mpu_armv8.h
│ │ └── tz_context.h
└── STM32F4xx_HAL_Driver
│ ├── Inc
│ ├── Legacy
│ │ └── stm32_hal_legacy.h
│ ├── stm32f4xx_hal.h
│ ├── stm32f4xx_hal_cortex.h
│ ├── stm32f4xx_hal_def.h
│ ├── stm32f4xx_hal_dma.h
│ ├── stm32f4xx_hal_dma_ex.h
│ ├── stm32f4xx_hal_exti.h
│ ├── stm32f4xx_hal_flash.h
│ ├── stm32f4xx_hal_flash_ex.h
│ ├── stm32f4xx_hal_flash_ramfunc.h
│ ├── stm32f4xx_hal_gpio.h
│ ├── stm32f4xx_hal_gpio_ex.h
│ ├── stm32f4xx_hal_i2c.h
│ ├── stm32f4xx_hal_i2c_ex.h
│ ├── stm32f4xx_hal_pwr.h
│ ├── stm32f4xx_hal_pwr_ex.h
│ ├── stm32f4xx_hal_rcc.h
│ ├── stm32f4xx_hal_rcc_ex.h
│ ├── stm32f4xx_hal_tim.h
│ ├── stm32f4xx_hal_tim_ex.h
│ └── stm32f4xx_hal_uart.h
│ └── Src
│ ├── stm32f4xx_hal.c
│ ├── stm32f4xx_hal_cortex.c
│ ├── stm32f4xx_hal_dma.c
│ ├── stm32f4xx_hal_dma_ex.c
│ ├── stm32f4xx_hal_exti.c
│ ├── stm32f4xx_hal_flash.c
│ ├── stm32f4xx_hal_flash_ex.c
│ ├── stm32f4xx_hal_flash_ramfunc.c
│ ├── stm32f4xx_hal_gpio.c
│ ├── stm32f4xx_hal_i2c.c
│ ├── stm32f4xx_hal_i2c_ex.c
│ ├── stm32f4xx_hal_pwr.c
│ ├── stm32f4xx_hal_pwr_ex.c
│ ├── stm32f4xx_hal_rcc.c
│ ├── stm32f4xx_hal_rcc_ex.c
│ ├── stm32f4xx_hal_tim.c
│ ├── stm32f4xx_hal_tim_ex.c
│ └── stm32f4xx_hal_uart.c
├── LICENSE
├── README.md
├── STM32F407ZETX_FLASH.ld
├── STM32F407ZETX_RAM.ld
├── STM32F407_Explorer_ThreadX Debug.launch
└── STM32F407_Explorer_ThreadX.ioc
/.gitignore:
--------------------------------------------------------------------------------
1 | # used for STM32CubeIDE Project
2 |
3 |
4 | makefile
5 | *.d
6 | *.o
7 | *.su
8 | *.elf
9 | *.bin
10 | *.hex
11 | *.mk
12 | *.list
13 | *.map
14 |
15 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | STM32F407_Explorer_ThreadX
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | com.st.stm32cube.ide.mcu.MCUProjectNature
23 | com.st.stm32cube.ide.mcu.MCUCubeProjectNature
24 | org.eclipse.cdt.core.cnature
25 | com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAProjectNature
26 | com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature
27 | com.st.stm32cube.ide.mcu.MCUEndUserDisabledTrustZoneProjectNature
28 | com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature
29 | com.st.stm32cube.ide.mcu.MCURootProjectNature
30 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
31 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/.settings/language.settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Core/GUIX/common/inc/gx_icon.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Icon Management (Icon) */
19 | /** */
20 | /**************************************************************************/
21 | /**************************************************************************/
22 |
23 |
24 | /**************************************************************************/
25 | /* */
26 | /* COMPONENT DEFINITION RELEASE */
27 | /* */
28 | /* gx_icon.h PORTABLE C */
29 | /* 6.0 */
30 | /* AUTHOR */
31 | /* */
32 | /* Kenneth Maxwell, Microsoft Corporation */
33 | /* */
34 | /* DESCRIPTION */
35 | /* */
36 | /* This file defines the GUIX icon management component, */
37 | /* including all data types and external references. It is assumed */
38 | /* that gx_api.h and gx_port.h have already been included. */
39 | /* */
40 | /* RELEASE HISTORY */
41 | /* */
42 | /* DATE NAME DESCRIPTION */
43 | /* */
44 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
45 | /* */
46 | /**************************************************************************/
47 |
48 | #ifndef GX_ICON_H
49 | #define GX_ICON_H
50 |
51 |
52 | /* Define button management function prototypes. */
53 |
54 | VOID _gx_icon_background_draw(GX_ICON *icon);
55 | UINT _gx_icon_create(GX_ICON *icon, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
56 | GX_RESOURCE_ID pixelmap_id,
57 | ULONG style, USHORT icon_id, GX_VALUE x, GX_VALUE y);
58 | VOID _gx_icon_draw(GX_ICON *icon);
59 | UINT _gx_icon_event_process(GX_ICON *icon, GX_EVENT *event_ptr);
60 |
61 | UINT _gx_icon_pixelmap_set(GX_ICON *icon, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id);
62 | VOID _gx_icon_pixelmap_update(GX_ICON *icon);
63 |
64 | /* Define error checking shells for API services. These are only referenced by the
65 | application. */
66 |
67 |
68 | UINT _gxe_icon_create(GX_ICON *icon, GX_CONST GX_CHAR *name, GX_WIDGET *parent, GX_RESOURCE_ID pixelmap_id,
69 | ULONG style, USHORT icon_id, GX_VALUE x, GX_VALUE y, UINT icon_control_block_size);
70 | UINT _gxe_icon_event_process(GX_ICON *button, GX_EVENT *event_ptr);
71 | UINT _gxe_icon_pixelmap_set(GX_ICON *icon, GX_RESOURCE_ID normal_id, GX_RESOURCE_ID selected_id);
72 |
73 | #endif
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/inc/gx_line_chart.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Line Chart (Charting) */
19 | /** */
20 | /**************************************************************************/
21 | /**************************************************************************/
22 |
23 |
24 | /**************************************************************************/
25 | /* */
26 | /* COMPONENT DEFINITION RELEASE */
27 | /* */
28 | /* gx_line_chart.h PORTABLE C */
29 | /* 6.0 */
30 | /* AUTHOR */
31 | /* */
32 | /* Kenneth Maxwell, Microsoft Corporation */
33 | /* */
34 | /* DESCRIPTION */
35 | /* */
36 | /* This file defines the GUIX line chart component, including all data */
37 | /* types and external references. It is assumed that gx_api.h and */
38 | /* gx_port.h have already been included. */
39 | /* */
40 | /* RELEASE HISTORY */
41 | /* */
42 | /* DATE NAME DESCRIPTION */
43 | /* */
44 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
45 | /* */
46 | /**************************************************************************/
47 |
48 | #ifndef GX_LINE_CHART_H
49 | #define GX_LINE_CHART_H
50 |
51 | /* APIs defined for line chart widget */
52 |
53 | VOID _gx_line_chart_axis_draw(GX_LINE_CHART *chart);
54 | UINT _gx_line_chart_create(GX_LINE_CHART *chart,
55 | GX_CONST GX_CHAR *name,
56 | GX_WIDGET *parent,
57 | GX_CONST GX_LINE_CHART_INFO *info,
58 | ULONG style,
59 | USHORT chart_id,
60 | GX_CONST GX_RECTANGLE *size);
61 | VOID _gx_line_chart_data_draw(GX_LINE_CHART *chart);
62 | VOID _gx_line_chart_draw(GX_LINE_CHART *chart);
63 | UINT _gx_line_chart_update(GX_LINE_CHART *chart, INT *data, INT data_count);
64 | UINT _gx_line_chart_y_scale_calculate(GX_LINE_CHART *chart_info, INT *return_val);
65 |
66 | /* Define error checking shells for API services. These are only referenced by the
67 | application. */
68 |
69 | UINT _gxe_line_chart_create(GX_LINE_CHART *chart,
70 | GX_CONST GX_CHAR *name,
71 | GX_WIDGET *parent,
72 | GX_CONST GX_LINE_CHART_INFO *info,
73 | ULONG style,
74 | USHORT chart_id,
75 | GX_CONST GX_RECTANGLE *size,
76 | UINT control_block_size);
77 | UINT _gxe_line_chart_update(GX_LINE_CHART *chart, INT *data, INT data_count);
78 | UINT _gxe_line_chart_y_scale_calculate(GX_LINE_CHART *chart_info, INT *return_val);
79 |
80 |
81 | #endif
82 |
83 |
--------------------------------------------------------------------------------
/Core/GUIX/common/inc/gx_numeric_prompt.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Numeric Prompt Management (Prompt) */
19 | /** */
20 | /**************************************************************************/
21 | /**************************************************************************/
22 |
23 |
24 | /**************************************************************************/
25 | /* */
26 | /* COMPONENT DEFINITION RELEASE */
27 | /* */
28 | /* gx_numeric_prompt.h PORTABLE C */
29 | /* 6.0 */
30 | /* AUTHOR */
31 | /* */
32 | /* Kenneth Maxwell, Microsoft Corporation */
33 | /* */
34 | /* DESCRIPTION */
35 | /* */
36 | /* This file defines the GUIX numeric prompt management component, */
37 | /* including all data types and external references. It is assumed */
38 | /* that gx_api.h and gx_port.h have already been included. */
39 | /* */
40 | /* RELEASE HISTORY */
41 | /* */
42 | /* DATE NAME DESCRIPTION */
43 | /* */
44 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
45 | /* */
46 | /**************************************************************************/
47 |
48 | #ifndef GX_NUMERIC_PROMPT_H
49 | #define GX_NUMERIC_PROMPT_H
50 |
51 |
52 | /* Define prompt management function prototypes. */
53 |
54 | UINT _gx_numeric_prompt_create(GX_NUMERIC_PROMPT *prompt, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
55 | GX_RESOURCE_ID text_id, ULONG style, USHORT prompt_id, GX_CONST GX_RECTANGLE *size);
56 | VOID _gx_numeric_prompt_format(GX_NUMERIC_PROMPT *prompt, INT value);
57 | UINT _gx_numeric_prompt_format_function_set(GX_NUMERIC_PROMPT *prompt, VOID (*format_func)(GX_NUMERIC_PROMPT *, INT));
58 | UINT _gx_numeric_prompt_value_set(GX_NUMERIC_PROMPT *prompt, INT value);
59 |
60 | /* Define error checking shells for API services. These are only referenced by the
61 | application. */
62 |
63 | UINT _gxe_numeric_prompt_create(GX_NUMERIC_PROMPT *prompt, GX_CONST GX_CHAR *name, GX_WIDGET *parent,
64 | GX_RESOURCE_ID text_id, ULONG style, USHORT prompt_id, GX_CONST GX_RECTANGLE *size,
65 | UINT control_block_size);
66 | UINT _gxe_numeric_prompt_format_function_set(GX_NUMERIC_PROMPT *prompt, VOID (*format_func)(GX_NUMERIC_PROMPT *, INT));
67 | UINT _gxe_numeric_prompt_value_set(GX_NUMERIC_PROMPT *prompt, INT value);
68 | #endif
69 |
70 |
--------------------------------------------------------------------------------
/Core/GUIX/common/inc/gx_screen_stack.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Screen Stack Management (Screen Stack) */
19 | /** */
20 | /**************************************************************************/
21 | /**************************************************************************/
22 |
23 |
24 | /**************************************************************************/
25 | /* */
26 | /* COMPONENT DEFINITION RELEASE */
27 | /* */
28 | /* gx_screen_stack.h PORTABLE C */
29 | /* 6.0 */
30 | /* AUTHOR */
31 | /* */
32 | /* Kenneth Maxwell, Microsoft Corporation */
33 | /* */
34 | /* DESCRIPTION */
35 | /* */
36 | /* This file defines the GUIX screen stack component, including all */
37 | /* data types and external references. It is assumed that gx_api.h */
38 | /* and gx_port.h have already been included. */
39 | /* */
40 | /* RELEASE HISTORY */
41 | /* */
42 | /* DATE NAME DESCRIPTION */
43 | /* */
44 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
45 | /* */
46 | /**************************************************************************/
47 |
48 | #ifndef GX_SCREEN_STACK_H
49 | #define GX_SCREEN_STACK_H
50 |
51 | /* Define screen stack management function prototypes. */
52 | UINT _gx_screen_stack_create(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET **memory, INT size);
53 | UINT _gx_screen_stack_push(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET *screen, GX_WIDGET *new_screen);
54 | UINT _gx_screen_stack_pop(GX_SCREEN_STACK_CONTROL *control);
55 | UINT _gx_screen_stack_reset(GX_SCREEN_STACK_CONTROL *control);
56 |
57 | /* error checking versions of the screen stack API functions */
58 | UINT _gxe_screen_stack_create(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET **memory, INT size);
59 | UINT _gxe_screen_stack_push(GX_SCREEN_STACK_CONTROL *control, GX_WIDGET *screen, GX_WIDGET *new_screen);
60 | UINT _gxe_screen_stack_pop(GX_SCREEN_STACK_CONTROL *control);
61 | UINT _gxe_screen_stack_reset(GX_SCREEN_STACK_CONTROL *control);
62 |
63 | #endif
64 |
65 |
--------------------------------------------------------------------------------
/Core/GUIX/common/inc/gx_text_input_cursor.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Cursor Management (Cursor) */
19 | /** */
20 | /**************************************************************************/
21 | /**************************************************************************/
22 |
23 |
24 | /**************************************************************************/
25 | /* */
26 | /* COMPONENT DEFINITION RELEASE */
27 | /* */
28 | /* gx_text_input_cursor.h PORTABLE C */
29 | /* 6.0 */
30 | /* AUTHOR */
31 | /* */
32 | /* Kenneth Maxwell, Microsoft Corporation */
33 | /* */
34 | /* DESCRIPTION */
35 | /* */
36 | /* This file defines the GUIX cursor management component, */
37 | /* including all data types and external references. It is assumed */
38 | /* that gx_api.h and gx_port.h have already been included. */
39 | /* */
40 | /* RELEASE HISTORY */
41 | /* */
42 | /* DATE NAME DESCRIPTION */
43 | /* */
44 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
45 | /* */
46 | /**************************************************************************/
47 |
48 | #ifndef GX_CURSOR_H
49 | #define GX_CURSOR_H
50 |
51 |
52 | /* Define cursor management function prototypes. */
53 |
54 | VOID _gx_text_input_cursor_draw(GX_TEXT_INPUT_CURSOR *cursor_input);
55 | UINT _gx_text_input_cursor_dirty_rectangle_get(GX_TEXT_INPUT_CURSOR *cursor_ptr, GX_RECTANGLE *dirty_rect);
56 | UINT _gx_text_input_cursor_width_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE width);
57 | UINT _gx_text_input_cursor_height_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE height);
58 | UINT _gx_text_input_cursor_blink_interval_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE blink_interval);
59 |
60 |
61 | /* Define error checking shells for API services. These are only referenced by the
62 | application. */
63 |
64 | UINT _gxe_text_input_cursor_width_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE width);
65 | UINT _gxe_text_input_cursor_height_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE height);
66 | UINT _gxe_text_input_cursor_blink_interval_set(GX_TEXT_INPUT_CURSOR *cursor_input, GX_UBYTE blink_interval);
67 |
68 | #endif
69 |
70 |
--------------------------------------------------------------------------------
/Core/GUIX/common/inc/gx_user_sample.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** User optional settings */
19 | /** */
20 | /**************************************************************************/
21 | /**************************************************************************/
22 | /**************************************************************************/
23 | /* */
24 | /* APPLICATION INTERFACE DEFINITION RELEASE */
25 | /* */
26 | /* gx_user.h PORTABLE C */
27 | /* 6.0 */
28 | /* AUTHOR */
29 | /* */
30 | /* Kenneth Maxwell, Microsoft Corporation */
31 | /* */
32 | /* DESCRIPTION */
33 | /* */
34 | /* This file contains optional settings. You can enable and disable */
35 | /* GUIX features by commenting out or including the definitions below */
36 | /* to the implementation of high-performance GUIX UI framework. */
37 | /* */
38 | /* RELEASE HISTORY */
39 | /* */
40 | /* DATE NAME DESCRIPTION */
41 | /* */
42 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
43 | /* */
44 | /**************************************************************************/
45 |
46 | #ifndef GX_USER_H
47 | #define GX_USER_H
48 |
49 | /* Should GUIX support multiple threads using the GUIX API simultaneously
50 | If your application is organized such that only one thread utilizes the
51 | GUI API services, comment out the definition below to reduce system
52 | overhead.
53 | */
54 | /* #define GUIX_DISABLE_MULTITHREAD_SUPPORT */
55 |
56 | /* Defined, GUIX disables UTF8 support. */
57 | /* #define GX_DISABLE_UTF8_SUPPORT */
58 |
59 | /* By default GUIX System Timer runs at 20ms. Modify the value below to
60 | change GUIX System Timer value. */
61 | /* #define GX_SYSTEM_TIMER_MS 20 */
62 |
63 | /* This can be defined to insert an application specific data
64 | field into the GX_WIDGET control block */
65 | /* #define GX_WIDGET_USER_DATA */
66 | #endif
67 |
68 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_context_brush_default.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Context Management (Context) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_context.h"
30 |
31 |
32 | /**************************************************************************/
33 | /* */
34 | /* FUNCTION RELEASE */
35 | /* */
36 | /* _gx_context_brush_default PORTABLE C */
37 | /* 6.0 */
38 | /* AUTHOR */
39 | /* */
40 | /* Kenneth Maxwell, Microsoft Corporation */
41 | /* */
42 | /* DESCRIPTION */
43 | /* */
44 | /* Set the brush of the current display context. */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* context Pointer to context */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* _gx_brush_default Sets the default brush */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* _gx_canvas_drawing_initiate */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 |
70 | UINT _gx_context_brush_default(GX_DRAW_CONTEXT *context)
71 | {
72 | GX_BRUSH *brush;
73 |
74 | /* Set the brush. */
75 | brush = &context -> gx_draw_context_brush;
76 |
77 | _gx_brush_default(brush);
78 |
79 | /* Return successful completion. */
80 | return(GX_SUCCESS);
81 | }
82 |
83 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_context_brush_set.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Context Management (Context) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_context.h"
30 |
31 |
32 | /**************************************************************************/
33 | /* */
34 | /* FUNCTION RELEASE */
35 | /* */
36 | /* _gx_context_brush_set PORTABLE C */
37 | /* 6.0 */
38 | /* AUTHOR */
39 | /* */
40 | /* Kenneth Maxwell, Microsoft Corporation */
41 | /* */
42 | /* DESCRIPTION */
43 | /* */
44 | /* Set the brush of the current screen context. */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* brush Pointer to brush */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_context_brush_set(GX_BRUSH *brush)
70 | {
71 | GX_DRAW_CONTEXT *context = _gx_system_current_draw_context;
72 |
73 | /* Set the brush. */
74 | context -> gx_draw_context_brush = *brush;
75 |
76 | /* Return successful completion. */
77 | return(GX_SUCCESS);
78 | }
79 |
80 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_context_brush_style_set.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Context Management (Context) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_context.h"
30 |
31 |
32 | /**************************************************************************/
33 | /* */
34 | /* FUNCTION RELEASE */
35 | /* */
36 | /* _gx_context_brush_style_set PORTABLE C */
37 | /* 6.0 */
38 | /* AUTHOR */
39 | /* */
40 | /* Kenneth Maxwell, Microsoft Corporation */
41 | /* */
42 | /* DESCRIPTION */
43 | /* */
44 | /* Set the brush of the current screen context. */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* style Brush style of current context*/
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_context_brush_style_set(UINT style)
70 | {
71 | GX_DRAW_CONTEXT *context = _gx_system_current_draw_context;
72 |
73 | /* Set the brush. */
74 | context -> gx_draw_context_brush.gx_brush_style = style;
75 |
76 | /* Return successful completion. */
77 | return(GX_SUCCESS);
78 | }
79 |
80 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_display_driver_16bpp_row_pitch_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Display Management (Display) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_display.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_display_driver_565rgb_row_pitch_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* Calculate row pitch, in bytes, for given canvas width */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* width canvas width */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* USHORT pitch in bytes */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* None */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* GUIX Internal Code */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | USHORT _gx_display_driver_16bpp_row_pitch_get(USHORT width)
68 | {
69 | return((USHORT)(width * 2));
70 | }
71 |
72 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_display_driver_1bpp_row_pitch_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Display Management (Display) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_display.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_display_driver_1bpp_row_pitch_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* Calculate row pitch, in bytes, for given canvas width */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* width canvas width */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* USHORT pitch in bytes */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* None */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* GUIX Internal Code */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | USHORT _gx_display_driver_1bpp_row_pitch_get(USHORT width)
68 | {
69 | return((USHORT)((width + 7) >> 3));
70 | }
71 |
72 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_display_driver_32bpp_row_pitch_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Display Management (Display) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_display.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_display_driver_32xrgb_row_pitch_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* Calculate row pitch in bytes for canvas of given width */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* width canvas width */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* USHORT row pitch in bytes */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* None */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* GUIX Internal Code */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | USHORT _gx_display_driver_32bpp_row_pitch_get(USHORT width)
68 | {
69 | return((USHORT)(width * 4));
70 | }
71 |
72 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_display_driver_4bpp_row_pitch_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Display Management (Display) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_display.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_display_driver_4bpp_row_pitch_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* Calculate row pitch, in bytes, for given canvas width */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* width canvas width */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* USHORT pitch in bytes */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* None */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* _gx_display_driver_4bpp_pixel_write */
59 | /* GUIX Internal Code */
60 | /* */
61 | /* RELEASE HISTORY */
62 | /* */
63 | /* DATE NAME DESCRIPTION */
64 | /* */
65 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
66 | /* */
67 | /**************************************************************************/
68 | USHORT _gx_display_driver_4bpp_row_pitch_get(USHORT width)
69 | {
70 | return((USHORT)((width + 1) >> 1));
71 | }
72 |
73 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_display_driver_8bpp_row_pitch_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Display Management (Display) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_display.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_display_driver_8bpp_row_pitch_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* Calculate row pitch, in bytes, for given canvas width */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* width canvas width */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* USHORT pitch in bytes */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* None */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* GUIX Internal Code */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | USHORT _gx_display_driver_8bpp_row_pitch_get(USHORT width)
68 | {
69 | return width * 1;
70 | }
71 |
72 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_display_driver_generic_mouse_cursor_define.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Dispaly Management (Dispaly) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_display.h"
29 |
30 | #if defined(GX_MOUSE_SUPPORT)
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_display_driver_generic_mouse_cursor_define PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This service assign mouse cursor info for the current display */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* display Display control block */
48 | /* canvas Canvas control block */
49 | /* info Mouse cursor info control */
50 | /* block */
51 | /* */
52 | /* OUTPUT */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* */
57 | /* CALLED BY */
58 | /* */
59 | /* Application Code */
60 | /* */
61 | /* RELEASE HISTORY */
62 | /* */
63 | /* DATE NAME DESCRIPTION */
64 | /* */
65 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
66 | /* */
67 | /**************************************************************************/
68 | VOID _gx_display_driver_generic_mouse_define(GX_DISPLAY *display, GX_CANVAS *canvas, GX_MOUSE_CURSOR_INFO *info)
69 | {
70 | display -> gx_display_mouse.gx_mouse_canvas = canvas;
71 | display -> gx_display_mouse.gx_mouse_cursor_info = info;
72 | }
73 | #endif
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_line_chart_draw.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Line Chart Management (Line Chart) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_window.h"
29 | #include "gx_line_chart.h"
30 |
31 |
32 | /**************************************************************************/
33 | /* */
34 | /* FUNCTION RELEASE */
35 | /* */
36 | /* _gx_line_chart_draw PORTABLE C */
37 | /* 6.0 */
38 | /* AUTHOR */
39 | /* */
40 | /* Kenneth Maxwell, Microsoft Corporation */
41 | /* */
42 | /* DESCRIPTION */
43 | /* */
44 | /* This function draws a line chart */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* chart Line chart control block */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* None */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* _gx_window_draw Draw Window */
57 | /* _gx_line_chart_axis_draw Draw line chart axis */
58 | /* _gx_line_chart_data_draw Draw data in line chart */
59 | /* */
60 | /* CALLED BY */
61 | /* */
62 | /* Application Code */
63 | /* */
64 | /* RELEASE HISTORY */
65 | /* */
66 | /* DATE NAME DESCRIPTION */
67 | /* */
68 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
69 | /* */
70 | /**************************************************************************/
71 | VOID _gx_line_chart_draw(GX_LINE_CHART *chart)
72 | {
73 | _gx_window_draw((GX_WINDOW *) chart);
74 | _gx_line_chart_axis_draw(chart);
75 | _gx_line_chart_data_draw(chart);
76 | }
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_radial_slider_info_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Radial Slider Management (Slider) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_radial_slider.h"
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_radial_slider_info_get PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This function retrieves slider infomation. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* slider Radial slider control block */
48 | /* info Retrieved radial slider info */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_radial_slider_info_get(GX_RADIAL_SLIDER *slider, GX_RADIAL_SLIDER_INFO **info)
70 | {
71 | /* Copy the new info. */
72 | *info = &slider -> gx_radial_slider_info;
73 |
74 | return(GX_SUCCESS);
75 | }
76 |
77 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_screen_stack_reset.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Screen Stack Management (Screen Stack) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 | #include "gx_screen_stack.h"
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_screen_stack_reset PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This function removes all entries from the screen stack, and make */
44 | /* the current pointer equal to the stack top. */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* control Pointer of stack entry */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_screen_stack_reset(GX_SCREEN_STACK_CONTROL *control)
70 | {
71 | control -> gx_screen_stack_control_top = -1;
72 | return(GX_SUCCESS);
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_scroll_wheel_selected_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Scroll Wheel Management (Scroll Wheel) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_scroll_wheel.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_scroll_wheel_selected_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function gets the current selected row index of a scroll wheel */
43 | /* widget. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* wheel Scroll wheel control block */
48 | /* row Selected row to be retrieved */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_scroll_wheel_selected_get(GX_SCROLL_WHEEL *wheel, INT *row)
70 | {
71 | *row = wheel -> gx_scroll_wheel_selected_row;
72 |
73 | return GX_SUCCESS;
74 | }
75 |
76 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_system_active_language_set.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_display.h"
30 |
31 |
32 | /**************************************************************************/
33 | /* */
34 | /* FUNCTION RELEASE */
35 | /* */
36 | /* _gx_system_active_language_set PORTABLE C */
37 | /* 6.0 */
38 | /* AUTHOR */
39 | /* */
40 | /* Kenneth Maxwell, Microsoft Corporation */
41 | /* */
42 | /* DESCRIPTION */
43 | /* */
44 | /* This service sets the active language (deprecated). */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* language Language table id */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* _gx_display_active_language_set */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_system_active_language_set(GX_UBYTE language)
70 | {
71 | return _gx_display_active_language_set(_gx_system_display_created_list, language);
72 | }
73 |
74 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_system_bidi_text_disable.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_system_bidi_text_disable PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This function disables display of bi-directional text. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* None */
48 | /* */
49 | /* OUTPUT */
50 | /* */
51 | /* None */
52 | /* */
53 | /* CALLS */
54 | /* */
55 | /* None */
56 | /* */
57 | /* CALLED BY */
58 | /* */
59 | /* GUIX Internal Code */
60 | /* */
61 | /* RELEASE HISTORY */
62 | /* */
63 | /* DATE NAME DESCRIPTION */
64 | /* */
65 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
66 | /* */
67 | /**************************************************************************/
68 | #if defined(GX_DYNAMIC_BIDI_TEXT_SUPPORT)
69 | UINT _gx_system_bidi_text_disable(VOID)
70 | {
71 | _gx_system_bidi_text_enabled = GX_FALSE;
72 |
73 | return GX_SUCCESS;
74 | }
75 | #endif
76 |
77 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_system_bidi_text_enable.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_system_bidi_text_enable PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This function enables display of bi-directional text. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* None */
48 | /* */
49 | /* OUTPUT */
50 | /* */
51 | /* None */
52 | /* */
53 | /* CALLS */
54 | /* */
55 | /* None */
56 | /* */
57 | /* CALLED BY */
58 | /* */
59 | /* GUIX Internal Code */
60 | /* */
61 | /* RELEASE HISTORY */
62 | /* */
63 | /* DATE NAME DESCRIPTION */
64 | /* */
65 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
66 | /* */
67 | /**************************************************************************/
68 | #if defined(GX_DYNAMIC_BIDI_TEXT_SUPPORT)
69 | UINT _gx_system_bidi_text_enable(VOID)
70 | {
71 | _gx_system_bidi_text_enabled = GX_TRUE;
72 |
73 | return GX_SUCCESS;
74 | }
75 | #endif
76 |
77 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_system_clipboard_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_system_clipboard_get PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This service puts data to clipboard. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* data Retrieved clipboard data */
48 | /* data_size Retrieved clipboard data size */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* GUIX Internal Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_system_clipboard_get(VOID **data, UINT *data_size)
70 | {
71 |
72 | *data = _gx_system_clipboard;
73 | *data_size = _gx_system_clipboard_size;
74 |
75 | return(GX_SUCCESS);
76 | }
77 |
78 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_system_pen_speed_init.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_system_pen_speed_init PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This service initiates system pen speed. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* current Current pen position */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* None */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* tx_timer_get Get ThreadX timer tick */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* _gx_system_event_send Send GUIX system event */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | VOID _gx_system_pen_speed_init(GX_POINT *current)
68 | {
69 | #ifdef GX_THREADX_BINDING
70 | _gx_system_last_clock = tx_time_get();
71 | #else
72 | _gx_system_last_clock = GX_SYSTEM_TIME_GET;
73 | #endif
74 | _gx_system_last_pen_point = *current;
75 | _gx_system_pen_speed_x = _gx_system_pen_speed_y = 0;
76 | }
77 |
78 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_system_text_render_style_set.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_system_text_render_style_set PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This function sets text render styles. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* None */
48 | /* */
49 | /* OUTPUT */
50 | /* */
51 | /* None */
52 | /* */
53 | /* CALLS */
54 | /* */
55 | /* None */
56 | /* */
57 | /* CALLED BY */
58 | /* */
59 | /* Application Code */
60 | /* GUIX Internal Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | #if defined(GX_THAI_GLYPH_SHAPING_SUPPORT)
70 | UINT _gx_system_text_render_style_set(GX_UBYTE style)
71 | {
72 | _gx_system_text_render_style = style;
73 |
74 | return GX_SUCCESS;
75 | }
76 | #endif
77 |
78 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_draw_set.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 |
30 |
31 | /**************************************************************************/
32 | /* */
33 | /* FUNCTION RELEASE */
34 | /* */
35 | /* _gx_widget_draw_set PORTABLE C */
36 | /* 6.0 */
37 | /* AUTHOR */
38 | /* */
39 | /* Kenneth Maxwell, Microsoft Corporation */
40 | /* */
41 | /* DESCRIPTION */
42 | /* */
43 | /* This function overrides the default drawing function of the widget. */
44 | /* */
45 | /* INPUT */
46 | /* */
47 | /* widget Widget control block */
48 | /* draw_func pointer to drawing function */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* application */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_widget_draw_set(GX_WIDGET *widget, VOID (*draw_func)(GX_WIDGET *))
70 | {
71 |
72 | /* Update event processing function pointer */
73 | widget -> gx_widget_draw_function = draw_func;
74 |
75 | return(GX_SUCCESS);
76 | }
77 |
78 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_first_child_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_widget_first_child_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function returns the first child of the parent. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* parent Pointer to parent widget */
47 | /* child_return Pointer to destination for */
48 | /* found widget */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* application */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_widget_first_child_get(GX_WIDGET *parent, GX_WIDGET **child_return)
70 | {
71 | *child_return = parent -> gx_widget_first_child;
72 | return GX_SUCCESS;
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_free.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_widget.h"
30 | #include "gx_utility.h"
31 |
32 |
33 | /**************************************************************************/
34 | /* */
35 | /* FUNCTION RELEASE */
36 | /* */
37 | /* _gx_widget_free PORTABLE C */
38 | /* 6.0 */
39 | /* AUTHOR */
40 | /* */
41 | /* Kenneth Maxwell, Microsoft Corporation */
42 | /* */
43 | /* DESCRIPTION */
44 | /* */
45 | /* This function release the memory associated with a wiget control */
46 | /* block. */
47 | /* */
48 | /* INPUT */
49 | /* */
50 | /* widget Widget control block */
51 | /* */
52 | /* OUTPUT */
53 | /* */
54 | /* status Completion status */
55 | /* */
56 | /* CALLS */
57 | /* */
58 | /* _gx_system_memory_free */
59 | /* */
60 | /* CALLED BY */
61 | /* */
62 | /* Application Code */
63 | /* GUIX Internal Code */
64 | /* */
65 | /* RELEASE HISTORY */
66 | /* */
67 | /* DATE NAME DESCRIPTION */
68 | /* */
69 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
70 | /* */
71 | /**************************************************************************/
72 | UINT _gx_widget_free(GX_WIDGET *widget)
73 | {
74 | _gx_system_memory_free(widget);
75 |
76 | return GX_SUCCESS;
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_last_child_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_widget_last_child_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function returns the last child of the parent. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* parent Pointer to parent widget */
47 | /* child_return Pointer to destination for */
48 | /* found widget */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* application */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_widget_last_child_get(GX_WIDGET *parent, GX_WIDGET **child_return)
70 | {
71 | *child_return = parent -> gx_widget_last_child;
72 | return GX_SUCCESS;
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_next_sibling_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_widget_next_sibling_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function returns the next sibling of the current widget. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* current Pointer to current widget */
47 | /* sibling_return Pointer to destination for */
48 | /* found widget */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* application */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_widget_next_sibling_get(GX_WIDGET *current, GX_WIDGET **sibling_return)
70 | {
71 | *sibling_return = current -> gx_widget_next;
72 | return GX_SUCCESS;
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_parent_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_widget_parent_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function returns the parent of the current widget. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* current Pointer to current widget */
47 | /* parent_return Pointer to destination for */
48 | /* found widget */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* application */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_widget_parent_get(GX_WIDGET *current, GX_WIDGET **parent_return)
70 | {
71 | *parent_return = current -> gx_widget_parent;
72 | return GX_SUCCESS;
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gx_widget_previous_sibling_get.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_widget.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gx_widget_previous_sibling_get PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function returns the previous sibling of the current widget. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* current Pointer to current widget */
47 | /* sibling_return Pointer to destination for */
48 | /* found widget */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* None */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* application */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gx_widget_previous_sibling_get(GX_WIDGET *current, GX_WIDGET **sibling_return)
70 | {
71 | *sibling_return = current -> gx_widget_previous;
72 | return GX_SUCCESS;
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gxe_system_event_fold.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gxe_system_event_fold PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function checks for errors in system event send call. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* event Pointer to event */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* status Completion status */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* _gx_system_event_fold Actual system event fold call */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* GUIX Application */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | UINT _gxe_system_event_fold(GX_EVENT *event_ptr)
68 | {
69 | UINT status = GX_SUCCESS;
70 |
71 | /* Check for invalid pointer. */
72 | if (event_ptr == GX_NULL)
73 | {
74 | return(GX_PTR_ERROR);
75 | }
76 |
77 | /* Call actual system event send. */
78 | status = _gx_system_event_fold(event_ptr);
79 |
80 | /* Return status. */
81 | return(status);
82 | }
83 |
84 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gxe_system_event_send.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 |
30 | /**************************************************************************/
31 | /* */
32 | /* FUNCTION RELEASE */
33 | /* */
34 | /* _gxe_system_event_send PORTABLE C */
35 | /* 6.0 */
36 | /* AUTHOR */
37 | /* */
38 | /* Kenneth Maxwell, Microsoft Corporation */
39 | /* */
40 | /* DESCRIPTION */
41 | /* */
42 | /* This function checks for errors in system event send call. */
43 | /* */
44 | /* INPUT */
45 | /* */
46 | /* event Pointer to event */
47 | /* */
48 | /* OUTPUT */
49 | /* */
50 | /* status Completion status */
51 | /* */
52 | /* CALLS */
53 | /* */
54 | /* _gx_system_event_send Actual system event send call */
55 | /* */
56 | /* CALLED BY */
57 | /* */
58 | /* GUIX Application */
59 | /* */
60 | /* RELEASE HISTORY */
61 | /* */
62 | /* DATE NAME DESCRIPTION */
63 | /* */
64 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
65 | /* */
66 | /**************************************************************************/
67 | UINT _gxe_system_event_send(GX_EVENT *event_ptr)
68 | {
69 | UINT status = GX_SUCCESS;
70 |
71 | /* Check for invalid pointer. */
72 | if (event_ptr == GX_NULL)
73 | {
74 | return(GX_PTR_ERROR);
75 | }
76 |
77 | /* Call actual system event send. */
78 | status = _gx_system_event_send(event_ptr);
79 |
80 | /* Return status. */
81 | return(status);
82 | }
83 |
84 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gxe_system_start.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** System Management (System) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 | /* Include necessary system files. */
25 |
26 | #include "gx_api.h"
27 | #include "gx_system.h"
28 |
29 | /* Bring in externs for caller checking code. */
30 | GX_CALLER_CHECKING_EXTERNS
31 |
32 | /**************************************************************************/
33 | /* */
34 | /* FUNCTION RELEASE */
35 | /* */
36 | /* _gxe_system_start PORTABLE C */
37 | /* 6.0 */
38 | /* AUTHOR */
39 | /* */
40 | /* Kenneth Maxwell, Microsoft Corporation */
41 | /* */
42 | /* DESCRIPTION */
43 | /* */
44 | /* This function checks for errors in system start call. */
45 | /* */
46 | /* INPUT */
47 | /* */
48 | /* None */
49 | /* */
50 | /* OUTPUT */
51 | /* */
52 | /* status Completion status */
53 | /* */
54 | /* CALLS */
55 | /* */
56 | /* _gx_system_start Actual system start call */
57 | /* */
58 | /* CALLED BY */
59 | /* */
60 | /* Application Code */
61 | /* */
62 | /* RELEASE HISTORY */
63 | /* */
64 | /* DATE NAME DESCRIPTION */
65 | /* */
66 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
67 | /* */
68 | /**************************************************************************/
69 | UINT _gxe_system_start(VOID)
70 | {
71 | UINT status;
72 |
73 | /* Check for invalid caller. */
74 | GX_INIT_AND_THREADS_CALLER_CHECKING
75 |
76 | /* Call actual system start. */
77 | status = _gx_system_start();
78 |
79 | /* Return status. */
80 | return(status);
81 | }
82 |
83 |
--------------------------------------------------------------------------------
/Core/GUIX/common/src/gxe_widget_free.c:
--------------------------------------------------------------------------------
1 | /**************************************************************************/
2 | /* */
3 | /* Copyright (c) Microsoft Corporation. All rights reserved. */
4 | /* */
5 | /* This software is licensed under the Microsoft Software License */
6 | /* Terms for Microsoft Azure RTOS. Full text of the license can be */
7 | /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */
8 | /* and in the root directory of this software. */
9 | /* */
10 | /**************************************************************************/
11 |
12 |
13 | /**************************************************************************/
14 | /**************************************************************************/
15 | /** */
16 | /** GUIX Component */
17 | /** */
18 | /** Widget Management (Widget) */
19 | /** */
20 | /**************************************************************************/
21 |
22 | #define GX_SOURCE_CODE
23 |
24 |
25 | /* Include necessary system files. */
26 |
27 | #include "gx_api.h"
28 | #include "gx_system.h"
29 | #include "gx_widget.h"
30 | #include "gx_utility.h"
31 |
32 |
33 | /**************************************************************************/
34 | /* */
35 | /* FUNCTION RELEASE */
36 | /* */
37 | /* _gxe_widget_free PORTABLE C */
38 | /* 6.0 */
39 | /* AUTHOR */
40 | /* */
41 | /* Kenneth Maxwell, Microsoft Corporation */
42 | /* */
43 | /* DESCRIPTION */
44 | /* */
45 | /* This function checks for errors in widget free call. */
46 | /* */
47 | /* INPUT */
48 | /* */
49 | /* widget Widget control block */
50 | /* */
51 | /* OUTPUT */
52 | /* */
53 | /* status Completion status */
54 | /* */
55 | /* CALLS */
56 | /* */
57 | /* _gx_widget_free Actual widget free call */
58 | /* */
59 | /* CALLED BY */
60 | /* */
61 | /* Application Code */
62 | /* */
63 | /* RELEASE HISTORY */
64 | /* */
65 | /* DATE NAME DESCRIPTION */
66 | /* */
67 | /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */
68 | /* */
69 | /**************************************************************************/
70 | UINT _gxe_widget_free(GX_WIDGET *widget)
71 | {
72 | if (!widget)
73 | {
74 | return GX_PTR_ERROR;
75 | }
76 | if (_gx_system_memory_free == GX_NULL)
77 | {
78 | return GX_SYSTEM_MEMORY_ERROR;
79 | }
80 | return _gx_widget_free(widget);
81 | }
82 |
83 |
--------------------------------------------------------------------------------
/Core/Inc/gpio.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.h
4 | * Description : This file contains all the functions prototypes for
5 | * the gpio
6 | ******************************************************************************
7 | * @attention
8 | *
9 | *
© Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __gpio_H
22 | #define __gpio_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "main.h"
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* USER CODE BEGIN Private defines */
35 |
36 | /* USER CODE END Private defines */
37 |
38 | void MX_GPIO_Init(void);
39 |
40 | /* USER CODE BEGIN Prototypes */
41 |
42 | /* USER CODE END Prototypes */
43 |
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__ pinoutConfig_H */
48 |
49 | /**
50 | * @}
51 | */
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/Core/Inc/i2c.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : I2C.h
4 | * Description : This file provides code for the configuration
5 | * of the I2C instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __i2c_H
21 | #define __i2c_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern I2C_HandleTypeDef hi2c1;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_I2C1_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ i2c_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/Core/Inc/main.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file : main.h
5 | * @brief : Header for main.c file.
6 | * This file contains the common defines of the application.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2020 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under BSD 3-Clause license,
14 | * the "License"; You may not use this file except in compliance with the
15 | * License. You may obtain a copy of the License at:
16 | * opensource.org/licenses/BSD-3-Clause
17 | *
18 | ******************************************************************************
19 | */
20 | /* USER CODE END Header */
21 |
22 | /* Define to prevent recursive inclusion -------------------------------------*/
23 | #ifndef __MAIN_H
24 | #define __MAIN_H
25 |
26 | #ifdef __cplusplus
27 | extern "C" {
28 | #endif
29 |
30 | /* Includes ------------------------------------------------------------------*/
31 | #include "stm32f4xx_hal.h"
32 | #include "stm32f4xx_hal.h"
33 |
34 | /* Private includes ----------------------------------------------------------*/
35 | /* USER CODE BEGIN Includes */
36 |
37 | /* USER CODE END Includes */
38 |
39 | /* Exported types ------------------------------------------------------------*/
40 | /* USER CODE BEGIN ET */
41 |
42 | /* USER CODE END ET */
43 |
44 | /* Exported constants --------------------------------------------------------*/
45 | /* USER CODE BEGIN EC */
46 |
47 | /* USER CODE END EC */
48 |
49 | /* Exported macro ------------------------------------------------------------*/
50 | /* USER CODE BEGIN EM */
51 |
52 | /* USER CODE END EM */
53 |
54 | /* Exported functions prototypes ---------------------------------------------*/
55 | void Error_Handler(void);
56 |
57 | /* USER CODE BEGIN EFP */
58 |
59 | /* USER CODE END EFP */
60 |
61 | /* Private defines -----------------------------------------------------------*/
62 | #define KEY_LEFT_Pin GPIO_PIN_2
63 | #define KEY_LEFT_GPIO_Port GPIOE
64 | #define KEY_DOWN_Pin GPIO_PIN_3
65 | #define KEY_DOWN_GPIO_Port GPIOE
66 | #define KEY_RIGHT_Pin GPIO_PIN_4
67 | #define KEY_RIGHT_GPIO_Port GPIOE
68 | #define BEEP_Pin GPIO_PIN_8
69 | #define BEEP_GPIO_Port GPIOF
70 | #define LED_RED_Pin GPIO_PIN_9
71 | #define LED_RED_GPIO_Port GPIOF
72 | #define LED_GREEN_Pin GPIO_PIN_10
73 | #define LED_GREEN_GPIO_Port GPIOF
74 | /* USER CODE BEGIN Private defines */
75 |
76 | /* USER CODE END Private defines */
77 |
78 | #ifdef __cplusplus
79 | }
80 | #endif
81 |
82 | #endif /* __MAIN_H */
83 |
84 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
85 |
--------------------------------------------------------------------------------
/Core/Inc/stm32f4xx_it.h:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * @file stm32f4xx_it.h
5 | * @brief This file contains the headers of the interrupt handlers.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* USER CODE END Header */
20 |
21 | /* Define to prevent recursive inclusion -------------------------------------*/
22 | #ifndef __STM32F4xx_IT_H
23 | #define __STM32F4xx_IT_H
24 |
25 | #ifdef __cplusplus
26 | extern "C" {
27 | #endif
28 |
29 | /* Private includes ----------------------------------------------------------*/
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* Exported types ------------------------------------------------------------*/
35 | /* USER CODE BEGIN ET */
36 |
37 | /* USER CODE END ET */
38 |
39 | /* Exported constants --------------------------------------------------------*/
40 | /* USER CODE BEGIN EC */
41 |
42 | /* USER CODE END EC */
43 |
44 | /* Exported macro ------------------------------------------------------------*/
45 | /* USER CODE BEGIN EM */
46 |
47 | /* USER CODE END EM */
48 |
49 | /* Exported functions prototypes ---------------------------------------------*/
50 | void NMI_Handler(void);
51 | void HardFault_Handler(void);
52 | void MemManage_Handler(void);
53 | void BusFault_Handler(void);
54 | void UsageFault_Handler(void);
55 | void SVC_Handler(void);
56 | void DebugMon_Handler(void);
57 | void PendSV_Handler(void);
58 | void SysTick_Handler(void);
59 | void USART1_IRQHandler(void);
60 | /* USER CODE BEGIN EFP */
61 |
62 | /* USER CODE END EFP */
63 |
64 | #ifdef __cplusplus
65 | }
66 | #endif
67 |
68 | #endif /* __STM32F4xx_IT_H */
69 |
70 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
71 |
--------------------------------------------------------------------------------
/Core/Inc/usart.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.h
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __usart_H
21 | #define __usart_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern UART_HandleTypeDef huart1;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_USART1_UART_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ usart_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/Core/Src/gpio.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.c
4 | * Description : This file provides code for the configuration
5 | * of all used GPIO pins.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Includes ------------------------------------------------------------------*/
21 | #include "gpio.h"
22 | /* USER CODE BEGIN 0 */
23 |
24 | /* USER CODE END 0 */
25 |
26 | /*----------------------------------------------------------------------------*/
27 | /* Configure GPIO */
28 | /*----------------------------------------------------------------------------*/
29 | /* USER CODE BEGIN 1 */
30 |
31 | /* USER CODE END 1 */
32 |
33 | /** Configure pins as
34 | * Analog
35 | * Input
36 | * Output
37 | * EVENT_OUT
38 | * EXTI
39 | */
40 | void MX_GPIO_Init(void)
41 | {
42 |
43 | GPIO_InitTypeDef GPIO_InitStruct = {0};
44 |
45 | /* GPIO Ports Clock Enable */
46 | __HAL_RCC_GPIOE_CLK_ENABLE();
47 | __HAL_RCC_GPIOF_CLK_ENABLE();
48 | __HAL_RCC_GPIOA_CLK_ENABLE();
49 | __HAL_RCC_GPIOB_CLK_ENABLE();
50 |
51 | /*Configure GPIO pin Output Level */
52 | HAL_GPIO_WritePin(GPIOF, BEEP_Pin|LED_RED_Pin|LED_GREEN_Pin, GPIO_PIN_RESET);
53 |
54 | /*Configure GPIO pins : PEPin PEPin PEPin */
55 | GPIO_InitStruct.Pin = KEY_LEFT_Pin|KEY_DOWN_Pin|KEY_RIGHT_Pin;
56 | GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
57 | GPIO_InitStruct.Pull = GPIO_PULLUP;
58 | HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
59 |
60 | /*Configure GPIO pins : PFPin PFPin PFPin */
61 | GPIO_InitStruct.Pin = BEEP_Pin|LED_RED_Pin|LED_GREEN_Pin;
62 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
63 | GPIO_InitStruct.Pull = GPIO_NOPULL;
64 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
65 | HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
66 |
67 | }
68 |
69 | /* USER CODE BEGIN 2 */
70 |
71 | /* USER CODE END 2 */
72 |
73 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
74 |
--------------------------------------------------------------------------------
/Core/Src/i2c.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : I2C.c
4 | * Description : This file provides code for the configuration
5 | * of the I2C instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Includes ------------------------------------------------------------------*/
21 | #include "i2c.h"
22 |
23 | /* USER CODE BEGIN 0 */
24 |
25 | /* USER CODE END 0 */
26 |
27 | I2C_HandleTypeDef hi2c1;
28 |
29 | /* I2C1 init function */
30 | void MX_I2C1_Init(void)
31 | {
32 |
33 | hi2c1.Instance = I2C1;
34 | hi2c1.Init.ClockSpeed = 100000;
35 | hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
36 | hi2c1.Init.OwnAddress1 = 32;
37 | hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
38 | hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
39 | hi2c1.Init.OwnAddress2 = 0;
40 | hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
41 | hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
42 | if (HAL_I2C_Init(&hi2c1) != HAL_OK)
43 | {
44 | Error_Handler();
45 | }
46 |
47 | }
48 |
49 | void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
50 | {
51 |
52 | GPIO_InitTypeDef GPIO_InitStruct = {0};
53 | if(i2cHandle->Instance==I2C1)
54 | {
55 | /* USER CODE BEGIN I2C1_MspInit 0 */
56 |
57 | /* USER CODE END I2C1_MspInit 0 */
58 |
59 | __HAL_RCC_GPIOB_CLK_ENABLE();
60 | /**I2C1 GPIO Configuration
61 | PB6 ------> I2C1_SCL
62 | PB7 ------> I2C1_SDA
63 | */
64 | GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
65 | GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
66 | GPIO_InitStruct.Pull = GPIO_PULLUP;
67 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
68 | GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
69 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
70 |
71 | /* I2C1 clock enable */
72 | __HAL_RCC_I2C1_CLK_ENABLE();
73 | /* USER CODE BEGIN I2C1_MspInit 1 */
74 |
75 | /* USER CODE END I2C1_MspInit 1 */
76 | }
77 | }
78 |
79 | void HAL_I2C_MspDeInit(I2C_HandleTypeDef* i2cHandle)
80 | {
81 |
82 | if(i2cHandle->Instance==I2C1)
83 | {
84 | /* USER CODE BEGIN I2C1_MspDeInit 0 */
85 |
86 | /* USER CODE END I2C1_MspDeInit 0 */
87 | /* Peripheral clock disable */
88 | __HAL_RCC_I2C1_CLK_DISABLE();
89 |
90 | /**I2C1 GPIO Configuration
91 | PB6 ------> I2C1_SCL
92 | PB7 ------> I2C1_SDA
93 | */
94 | HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7);
95 |
96 | /* USER CODE BEGIN I2C1_MspDeInit 1 */
97 |
98 | /* USER CODE END I2C1_MspDeInit 1 */
99 | }
100 | }
101 |
102 | /* USER CODE BEGIN 1 */
103 |
104 | /* USER CODE END 1 */
105 |
106 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
107 |
--------------------------------------------------------------------------------
/Core/Src/stm32f4xx_hal_msp.c:
--------------------------------------------------------------------------------
1 | /* USER CODE BEGIN Header */
2 | /**
3 | ******************************************************************************
4 | * File Name : stm32f4xx_hal_msp.c
5 | * Description : This file provides code for the MSP Initialization
6 | * and de-Initialization codes.
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2020 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under BSD 3-Clause license,
14 | * the "License"; You may not use this file except in compliance with the
15 | * License. You may obtain a copy of the License at:
16 | * opensource.org/licenses/BSD-3-Clause
17 | *
18 | ******************************************************************************
19 | */
20 | /* USER CODE END Header */
21 |
22 | /* Includes ------------------------------------------------------------------*/
23 | #include "main.h"
24 | /* USER CODE BEGIN Includes */
25 |
26 | /* USER CODE END Includes */
27 |
28 | /* Private typedef -----------------------------------------------------------*/
29 | /* USER CODE BEGIN TD */
30 |
31 | /* USER CODE END TD */
32 |
33 | /* Private define ------------------------------------------------------------*/
34 | /* USER CODE BEGIN Define */
35 |
36 | /* USER CODE END Define */
37 |
38 | /* Private macro -------------------------------------------------------------*/
39 | /* USER CODE BEGIN Macro */
40 |
41 | /* USER CODE END Macro */
42 |
43 | /* Private variables ---------------------------------------------------------*/
44 | /* USER CODE BEGIN PV */
45 |
46 | /* USER CODE END PV */
47 |
48 | /* Private function prototypes -----------------------------------------------*/
49 | /* USER CODE BEGIN PFP */
50 |
51 | /* USER CODE END PFP */
52 |
53 | /* External functions --------------------------------------------------------*/
54 | /* USER CODE BEGIN ExternalFunctions */
55 |
56 | /* USER CODE END ExternalFunctions */
57 |
58 | /* USER CODE BEGIN 0 */
59 |
60 | /* USER CODE END 0 */
61 | /**
62 | * Initializes the Global MSP.
63 | */
64 | void HAL_MspInit(void)
65 | {
66 | /* USER CODE BEGIN MspInit 0 */
67 |
68 | /* USER CODE END MspInit 0 */
69 |
70 | __HAL_RCC_SYSCFG_CLK_ENABLE();
71 | __HAL_RCC_PWR_CLK_ENABLE();
72 |
73 | /* System interrupt init*/
74 |
75 | /* USER CODE BEGIN MspInit 1 */
76 |
77 | /* USER CODE END MspInit 1 */
78 | }
79 |
80 | /* USER CODE BEGIN 1 */
81 |
82 | /* USER CODE END 1 */
83 |
84 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
85 |
--------------------------------------------------------------------------------
/Core/Src/syscalls.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file syscalls.c
4 | * @author Auto-generated by STM32CubeIDE
5 | * @brief STM32CubeIDE Minimal System calls file
6 | *
7 | * For more information about which c-functions
8 | * need which of these lowlevel functions
9 | * please consult the Newlib libc-manual
10 | ******************************************************************************
11 | * @attention
12 | *
13 | * © Copyright (c) 2020 STMicroelectronics.
14 | * All rights reserved.
15 | *
16 | * This software component is licensed by ST under BSD 3-Clause license,
17 | * the "License"; You may not use this file except in compliance with the
18 | * License. You may obtain a copy of the License at:
19 | * opensource.org/licenses/BSD-3-Clause
20 | *
21 | ******************************************************************************
22 | */
23 |
24 | /* Includes */
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 |
34 |
35 | /* Variables */
36 | //#undef errno
37 | extern int errno;
38 | extern int __io_putchar(int ch) __attribute__((weak));
39 | extern int __io_getchar(void) __attribute__((weak));
40 |
41 | register char * stack_ptr asm("sp");
42 |
43 | char *__env[1] = { 0 };
44 | char **environ = __env;
45 |
46 |
47 | /* Functions */
48 | void initialise_monitor_handles()
49 | {
50 | }
51 |
52 | int _getpid(void)
53 | {
54 | return 1;
55 | }
56 |
57 | int _kill(int pid, int sig)
58 | {
59 | errno = EINVAL;
60 | return -1;
61 | }
62 |
63 | void _exit (int status)
64 | {
65 | _kill(status, -1);
66 | while (1) {} /* Make sure we hang here */
67 | }
68 |
69 | __attribute__((weak)) int _read(int file, char *ptr, int len)
70 | {
71 | int DataIdx;
72 |
73 | for (DataIdx = 0; DataIdx < len; DataIdx++)
74 | {
75 | *ptr++ = __io_getchar();
76 | }
77 |
78 | return len;
79 | }
80 |
81 | __attribute__((weak)) int _write(int file, char *ptr, int len)
82 | {
83 | int DataIdx;
84 |
85 | for (DataIdx = 0; DataIdx < len; DataIdx++)
86 | {
87 | __io_putchar(*ptr++);
88 | }
89 | return len;
90 | }
91 |
92 | int _close(int file)
93 | {
94 | return -1;
95 | }
96 |
97 |
98 | int _fstat(int file, struct stat *st)
99 | {
100 | st->st_mode = S_IFCHR;
101 | return 0;
102 | }
103 |
104 | int _isatty(int file)
105 | {
106 | return 1;
107 | }
108 |
109 | int _lseek(int file, int ptr, int dir)
110 | {
111 | return 0;
112 | }
113 |
114 | int _open(char *path, int flags, ...)
115 | {
116 | /* Pretend like we always fail */
117 | return -1;
118 | }
119 |
120 | int _wait(int *status)
121 | {
122 | errno = ECHILD;
123 | return -1;
124 | }
125 |
126 | int _unlink(char *name)
127 | {
128 | errno = ENOENT;
129 | return -1;
130 | }
131 |
132 | int _times(struct tms *buf)
133 | {
134 | return -1;
135 | }
136 |
137 | int _stat(char *file, struct stat *st)
138 | {
139 | st->st_mode = S_IFCHR;
140 | return 0;
141 | }
142 |
143 | int _link(char *old, char *new)
144 | {
145 | errno = EMLINK;
146 | return -1;
147 | }
148 |
149 | int _fork(void)
150 | {
151 | errno = EAGAIN;
152 | return -1;
153 | }
154 |
155 | int _execve(char *name, char **argv, char **env)
156 | {
157 | errno = ENOMEM;
158 | return -1;
159 | }
160 |
--------------------------------------------------------------------------------
/Core/Src/sysmem.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file sysmem.c
4 | * @author Auto-generated by STM32CubeIDE
5 | * @brief STM32CubeIDE Minimal System Memory calls file
6 | *
7 | * For more information about which c-functions
8 | * need which of these lowlevel functions
9 | * please consult the Newlib libc-manual
10 | ******************************************************************************
11 | * @attention
12 | *
13 | * © Copyright (c) 2020 STMicroelectronics.
14 | * All rights reserved.
15 | *
16 | * This software component is licensed by ST under BSD 3-Clause license,
17 | * the "License"; You may not use this file except in compliance with the
18 | * License. You may obtain a copy of the License at:
19 | * opensource.org/licenses/BSD-3-Clause
20 | *
21 | ******************************************************************************
22 | */
23 |
24 | /* Includes */
25 | #include
26 | #include
27 |
28 | /* Variables */
29 | extern int errno;
30 | register char * stack_ptr asm("sp");
31 |
32 | /* Functions */
33 |
34 | /**
35 | _sbrk
36 | Increase program data space. Malloc and related functions depend on this
37 | **/
38 | caddr_t _sbrk(int incr)
39 | {
40 | extern char end asm("end");
41 | static char *heap_end;
42 | char *prev_heap_end;
43 |
44 | if (heap_end == 0)
45 | heap_end = &end;
46 |
47 | prev_heap_end = heap_end;
48 | if (heap_end + incr > stack_ptr)
49 | {
50 | errno = ENOMEM;
51 | return (caddr_t) -1;
52 | }
53 |
54 | heap_end += incr;
55 |
56 | return (caddr_t) prev_heap_end;
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/Core/Src/usart.c:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.c
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2020 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Includes ------------------------------------------------------------------*/
21 | #include "usart.h"
22 |
23 | /* USER CODE BEGIN 0 */
24 |
25 | /* USER CODE END 0 */
26 |
27 | UART_HandleTypeDef huart1;
28 |
29 | /* USART1 init function */
30 |
31 | void MX_USART1_UART_Init(void)
32 | {
33 |
34 | huart1.Instance = USART1;
35 | huart1.Init.BaudRate = 115200;
36 | huart1.Init.WordLength = UART_WORDLENGTH_8B;
37 | huart1.Init.StopBits = UART_STOPBITS_1;
38 | huart1.Init.Parity = UART_PARITY_NONE;
39 | huart1.Init.Mode = UART_MODE_TX_RX;
40 | huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
41 | huart1.Init.OverSampling = UART_OVERSAMPLING_16;
42 | if (HAL_UART_Init(&huart1) != HAL_OK)
43 | {
44 | Error_Handler();
45 | }
46 |
47 | }
48 |
49 | void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
50 | {
51 |
52 | GPIO_InitTypeDef GPIO_InitStruct = {0};
53 | if(uartHandle->Instance==USART1)
54 | {
55 | /* USER CODE BEGIN USART1_MspInit 0 */
56 |
57 | /* USER CODE END USART1_MspInit 0 */
58 | /* USART1 clock enable */
59 | __HAL_RCC_USART1_CLK_ENABLE();
60 |
61 | __HAL_RCC_GPIOA_CLK_ENABLE();
62 | /**USART1 GPIO Configuration
63 | PA9 ------> USART1_TX
64 | PA10 ------> USART1_RX
65 | */
66 | GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
67 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
68 | GPIO_InitStruct.Pull = GPIO_NOPULL;
69 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
70 | GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
71 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
72 |
73 | /* USART1 interrupt Init */
74 | HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
75 | HAL_NVIC_EnableIRQ(USART1_IRQn);
76 | /* USER CODE BEGIN USART1_MspInit 1 */
77 |
78 | /* USER CODE END USART1_MspInit 1 */
79 | }
80 | }
81 |
82 | void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
83 | {
84 |
85 | if(uartHandle->Instance==USART1)
86 | {
87 | /* USER CODE BEGIN USART1_MspDeInit 0 */
88 |
89 | /* USER CODE END USART1_MspDeInit 0 */
90 | /* Peripheral clock disable */
91 | __HAL_RCC_USART1_CLK_DISABLE();
92 |
93 | /**USART1 GPIO Configuration
94 | PA9 ------> USART1_TX
95 | PA10 ------> USART1_RX
96 | */
97 | HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
98 |
99 | /* USART1 interrupt Deinit */
100 | HAL_NVIC_DisableIRQ(USART1_IRQn);
101 | /* USER CODE BEGIN USART1_MspDeInit 1 */
102 |
103 | /* USER CODE END USART1_MspDeInit 1 */
104 | }
105 | }
106 |
107 | /* USER CODE BEGIN 1 */
108 |
109 | /* USER CODE END 1 */
110 |
111 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
112 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangyuew/STM32F407_Explorer_ThreadX/3990aaae4aa5444dc5a494c063f137995f6ed1fe/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h
--------------------------------------------------------------------------------
/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file system_stm32f4xx.h
4 | * @author MCD Application Team
5 | * @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © COPYRIGHT(c) 2017 STMicroelectronics
10 | *
11 | * Redistribution and use in source and binary forms, with or without modification,
12 | * are permitted provided that the following conditions are met:
13 | * 1. Redistributions of source code must retain the above copyright notice,
14 | * this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright notice,
16 | * this list of conditions and the following disclaimer in the documentation
17 | * and/or other materials provided with the distribution.
18 | * 3. Neither the name of STMicroelectronics nor the names of its contributors
19 | * may be used to endorse or promote products derived from this software
20 | * without specific prior written permission.
21 | *
22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 | *
33 | ******************************************************************************
34 | */
35 |
36 | /** @addtogroup CMSIS
37 | * @{
38 | */
39 |
40 | /** @addtogroup stm32f4xx_system
41 | * @{
42 | */
43 |
44 | /**
45 | * @brief Define to prevent recursive inclusion
46 | */
47 | #ifndef __SYSTEM_STM32F4XX_H
48 | #define __SYSTEM_STM32F4XX_H
49 |
50 | #ifdef __cplusplus
51 | extern "C" {
52 | #endif
53 |
54 | /** @addtogroup STM32F4xx_System_Includes
55 | * @{
56 | */
57 |
58 | /**
59 | * @}
60 | */
61 |
62 |
63 | /** @addtogroup STM32F4xx_System_Exported_types
64 | * @{
65 | */
66 | /* This variable is updated in three ways:
67 | 1) by calling CMSIS function SystemCoreClockUpdate()
68 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq()
69 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
70 | Note: If you use this function to configure the system clock; then there
71 | is no need to call the 2 first functions listed above, since SystemCoreClock
72 | variable is updated automatically.
73 | */
74 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
75 |
76 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
77 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
78 |
79 | /**
80 | * @}
81 | */
82 |
83 | /** @addtogroup STM32F4xx_System_Exported_Constants
84 | * @{
85 | */
86 |
87 | /**
88 | * @}
89 | */
90 |
91 | /** @addtogroup STM32F4xx_System_Exported_Macros
92 | * @{
93 | */
94 |
95 | /**
96 | * @}
97 | */
98 |
99 | /** @addtogroup STM32F4xx_System_Exported_Functions
100 | * @{
101 | */
102 |
103 | extern void SystemInit(void);
104 | extern void SystemCoreClockUpdate(void);
105 | /**
106 | * @}
107 | */
108 |
109 | #ifdef __cplusplus
110 | }
111 | #endif
112 |
113 | #endif /*__SYSTEM_STM32F4XX_H */
114 |
115 | /**
116 | * @}
117 | */
118 |
119 | /**
120 | * @}
121 | */
122 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
123 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Include/cmsis_version.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * @file cmsis_version.h
3 | * @brief CMSIS Core(M) Version definitions
4 | * @version V5.0.2
5 | * @date 19. April 2017
6 | ******************************************************************************/
7 | /*
8 | * Copyright (c) 2009-2017 ARM Limited. All rights reserved.
9 | *
10 | * SPDX-License-Identifier: Apache-2.0
11 | *
12 | * Licensed under the Apache License, Version 2.0 (the License); you may
13 | * not use this file except in compliance with the License.
14 | * You may obtain a copy of the License at
15 | *
16 | * www.apache.org/licenses/LICENSE-2.0
17 | *
18 | * Unless required by applicable law or agreed to in writing, software
19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 | * See the License for the specific language governing permissions and
22 | * limitations under the License.
23 | */
24 |
25 | #if defined ( __ICCARM__ )
26 | #pragma system_include /* treat file as system include file for MISRA check */
27 | #elif defined (__clang__)
28 | #pragma clang system_header /* treat file as system include file */
29 | #endif
30 |
31 | #ifndef __CMSIS_VERSION_H
32 | #define __CMSIS_VERSION_H
33 |
34 | /* CMSIS Version definitions */
35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */
36 | #define __CM_CMSIS_VERSION_SUB ( 1U) /*!< [15:0] CMSIS Core(M) sub version */
37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \
38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */
39 | #endif
40 |
--------------------------------------------------------------------------------
/Drivers/CMSIS/Include/tz_context.h:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * @file tz_context.h
3 | * @brief Context Management for Armv8-M TrustZone
4 | * @version V1.0.1
5 | * @date 10. January 2018
6 | ******************************************************************************/
7 | /*
8 | * Copyright (c) 2017-2018 Arm Limited. All rights reserved.
9 | *
10 | * SPDX-License-Identifier: Apache-2.0
11 | *
12 | * Licensed under the Apache License, Version 2.0 (the License); you may
13 | * not use this file except in compliance with the License.
14 | * You may obtain a copy of the License at
15 | *
16 | * www.apache.org/licenses/LICENSE-2.0
17 | *
18 | * Unless required by applicable law or agreed to in writing, software
19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 | * See the License for the specific language governing permissions and
22 | * limitations under the License.
23 | */
24 |
25 | #if defined ( __ICCARM__ )
26 | #pragma system_include /* treat file as system include file for MISRA check */
27 | #elif defined (__clang__)
28 | #pragma clang system_header /* treat file as system include file */
29 | #endif
30 |
31 | #ifndef TZ_CONTEXT_H
32 | #define TZ_CONTEXT_H
33 |
34 | #include
35 |
36 | #ifndef TZ_MODULEID_T
37 | #define TZ_MODULEID_T
38 | /// \details Data type that identifies secure software modules called by a process.
39 | typedef uint32_t TZ_ModuleId_t;
40 | #endif
41 |
42 | /// \details TZ Memory ID identifies an allocated memory slot.
43 | typedef uint32_t TZ_MemoryId_t;
44 |
45 | /// Initialize secure context memory system
46 | /// \return execution status (1: success, 0: error)
47 | uint32_t TZ_InitContextSystem_S (void);
48 |
49 | /// Allocate context memory for calling secure software modules in TrustZone
50 | /// \param[in] module identifies software modules called from non-secure mode
51 | /// \return value != 0 id TrustZone memory slot identifier
52 | /// \return value 0 no memory available or internal error
53 | TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module);
54 |
55 | /// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S
56 | /// \param[in] id TrustZone memory slot identifier
57 | /// \return execution status (1: success, 0: error)
58 | uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id);
59 |
60 | /// Load secure context (called on RTOS thread context switch)
61 | /// \param[in] id TrustZone memory slot identifier
62 | /// \return execution status (1: success, 0: error)
63 | uint32_t TZ_LoadContext_S (TZ_MemoryId_t id);
64 |
65 | /// Store secure context (called on RTOS thread context switch)
66 | /// \param[in] id TrustZone memory slot identifier
67 | /// \return execution status (1: success, 0: error)
68 | uint32_t TZ_StoreContext_S (TZ_MemoryId_t id);
69 |
70 | #endif // TZ_CONTEXT_H
71 |
--------------------------------------------------------------------------------
/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32f4xx_hal_dma_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of DMA HAL extension module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2017 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32F4xx_HAL_DMA_EX_H
22 | #define __STM32F4xx_HAL_DMA_EX_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /* Includes ------------------------------------------------------------------*/
29 | #include "stm32f4xx_hal_def.h"
30 |
31 | /** @addtogroup STM32F4xx_HAL_Driver
32 | * @{
33 | */
34 |
35 | /** @addtogroup DMAEx
36 | * @{
37 | */
38 |
39 | /* Exported types ------------------------------------------------------------*/
40 | /** @defgroup DMAEx_Exported_Types DMAEx Exported Types
41 | * @brief DMAEx Exported types
42 | * @{
43 | */
44 |
45 | /**
46 | * @brief HAL DMA Memory definition
47 | */
48 | typedef enum
49 | {
50 | MEMORY0 = 0x00U, /*!< Memory 0 */
51 | MEMORY1 = 0x01U /*!< Memory 1 */
52 | }HAL_DMA_MemoryTypeDef;
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /* Exported functions --------------------------------------------------------*/
59 | /** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions
60 | * @brief DMAEx Exported functions
61 | * @{
62 | */
63 |
64 | /** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions
65 | * @brief Extended features functions
66 | * @{
67 | */
68 |
69 | /* IO operation functions *******************************************************/
70 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);
71 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);
72 | HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory);
73 |
74 | /**
75 | * @}
76 | */
77 | /**
78 | * @}
79 | */
80 |
81 | /* Private functions ---------------------------------------------------------*/
82 | /** @defgroup DMAEx_Private_Functions DMAEx Private Functions
83 | * @brief DMAEx Private functions
84 | * @{
85 | */
86 | /**
87 | * @}
88 | */
89 |
90 | /**
91 | * @}
92 | */
93 |
94 | /**
95 | * @}
96 | */
97 |
98 | #ifdef __cplusplus
99 | }
100 | #endif
101 |
102 | #endif /*__STM32F4xx_HAL_DMA_EX_H*/
103 |
104 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
105 |
--------------------------------------------------------------------------------
/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32f4xx_hal_flash_ramfunc.h
4 | * @author MCD Application Team
5 | * @brief Header file of FLASH RAMFUNC driver.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2017 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32F4xx_FLASH_RAMFUNC_H
22 | #define __STM32F4xx_FLASH_RAMFUNC_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 | #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F411xE) || defined(STM32F446xx) || defined(STM32F412Zx) ||\
28 | defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx)
29 |
30 | /* Includes ------------------------------------------------------------------*/
31 | #include "stm32f4xx_hal_def.h"
32 |
33 | /** @addtogroup STM32F4xx_HAL_Driver
34 | * @{
35 | */
36 |
37 | /** @addtogroup FLASH_RAMFUNC
38 | * @{
39 | */
40 |
41 | /* Exported types ------------------------------------------------------------*/
42 | /* Exported macro ------------------------------------------------------------*/
43 | /* Exported functions --------------------------------------------------------*/
44 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions
45 | * @{
46 | */
47 |
48 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1
49 | * @{
50 | */
51 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_StopFlashInterfaceClk(void);
52 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_StartFlashInterfaceClk(void);
53 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableFlashSleepMode(void);
54 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableFlashSleepMode(void);
55 | /**
56 | * @}
57 | */
58 |
59 | /**
60 | * @}
61 | */
62 |
63 | /**
64 | * @}
65 | */
66 |
67 | /**
68 | * @}
69 | */
70 |
71 | #endif /* STM32F410xx || STM32F411xE || STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx */
72 | #ifdef __cplusplus
73 | }
74 | #endif
75 |
76 |
77 | #endif /* __STM32F4xx_FLASH_RAMFUNC_H */
78 |
79 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
80 |
--------------------------------------------------------------------------------
/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file stm32f4xx_hal_i2c_ex.h
4 | * @author MCD Application Team
5 | * @brief Header file of I2C HAL Extension module.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2016 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __STM32F4xx_HAL_I2C_EX_H
22 | #define __STM32F4xx_HAL_I2C_EX_H
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | #if defined(I2C_FLTR_ANOFF)&&defined(I2C_FLTR_DNF)
29 | /* Includes ------------------------------------------------------------------*/
30 | #include "stm32f4xx_hal_def.h"
31 |
32 | /** @addtogroup STM32F4xx_HAL_Driver
33 | * @{
34 | */
35 |
36 | /** @addtogroup I2CEx
37 | * @{
38 | */
39 |
40 | /* Exported types ------------------------------------------------------------*/
41 | /* Exported constants --------------------------------------------------------*/
42 | /** @defgroup I2CEx_Exported_Constants I2C Exported Constants
43 | * @{
44 | */
45 |
46 | /** @defgroup I2CEx_Analog_Filter I2C Analog Filter
47 | * @{
48 | */
49 | #define I2C_ANALOGFILTER_ENABLE 0x00000000U
50 | #define I2C_ANALOGFILTER_DISABLE I2C_FLTR_ANOFF
51 | /**
52 | * @}
53 | */
54 |
55 | /**
56 | * @}
57 | */
58 |
59 | /* Exported macro ------------------------------------------------------------*/
60 | /* Exported functions --------------------------------------------------------*/
61 | /** @addtogroup I2CEx_Exported_Functions
62 | * @{
63 | */
64 |
65 | /** @addtogroup I2CEx_Exported_Functions_Group1
66 | * @{
67 | */
68 | /* Peripheral Control functions ************************************************/
69 | HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter);
70 | HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter);
71 | /**
72 | * @}
73 | */
74 |
75 | /**
76 | * @}
77 | */
78 | /* Private types -------------------------------------------------------------*/
79 | /* Private variables ---------------------------------------------------------*/
80 | /* Private constants ---------------------------------------------------------*/
81 | /** @defgroup I2CEx_Private_Constants I2C Private Constants
82 | * @{
83 | */
84 |
85 | /**
86 | * @}
87 | */
88 |
89 | /* Private macros ------------------------------------------------------------*/
90 | /** @defgroup I2CEx_Private_Macros I2C Private Macros
91 | * @{
92 | */
93 | #define IS_I2C_ANALOG_FILTER(FILTER) (((FILTER) == I2C_ANALOGFILTER_ENABLE) || \
94 | ((FILTER) == I2C_ANALOGFILTER_DISABLE))
95 | #define IS_I2C_DIGITAL_FILTER(FILTER) ((FILTER) <= 0x0000000FU)
96 | /**
97 | * @}
98 | */
99 |
100 | /**
101 | * @}
102 | */
103 |
104 | /**
105 | * @}
106 | */
107 |
108 | #endif
109 |
110 | #ifdef __cplusplus
111 | }
112 | #endif
113 |
114 | #endif /* __STM32F4xx_HAL_I2C_EX_H */
115 |
116 |
117 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
118 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Yuewu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # STM32F407_Explorer_ThreadX
2 | 在 STM32CubeIDE 中针对 STM32F407 移植 ThreadX
3 |
4 | ### 前言
5 |
6 | 在 Microsoft 开源ThreadX后,网上有人在Keil MDK、IAR上移植成功过,但既然有ST官方提供的开发工具,何必使用盗版破解软件。
7 |
8 | 工程文件在 [STM32F407_Explorer_ThreadX](https://github.com/wangyuew/STM32F407_Explorer_ThreadX.git)
9 |
10 | 参照网上现有资料,移植过程并不复杂,通过提交历史记录关键修改。
11 |
12 |
13 |
14 | ### 背景
15 |
16 | 2019年4月18日,Microsoft 收购了 Express Logic,后者开发了用于物联网和边缘计算的实时操作系统 ThreadX 全家桶,并于2020年5月17日开源。
17 |
18 | 相较于 FreeRTOS 等国内使用较多的 RTOS 而言,除了后发(FreeRTOS 早期即开源,在 2017 年被亚马逊收购并修改为 MIT授权)的劣势,ThreadX 具有2方面的优势:
19 |
20 | 1. 拥有丰富的多行业认证。FreeRTOS 的改进版(由第三方重写) SafeRTOS 才提供部分行业认证。
21 | 2. 拥有丰富的中间件,如网络、文件系统、GUI、USB等,集成时能提供一致的体验。如果使用 FreeRTOS,需手动集成FatFs、LwIP等第三方中间件。
22 |
23 |
24 |
25 | ### 开发环境
26 |
27 | * STM32CubeIDE v1.3.1
28 | * STM32F4 Cube v1.25.0
29 | * ThreadX v6.0
30 |
31 |
32 |
33 | ### 移植时的注意事项
34 |
35 | 1. STM32F407为**cortex-m4**内核,所以使用`ports/cortex_m4`目录中的移植文件。
36 | 2. Project配置中增加ThreadX头文件路径。`Project Properties --> C/C++ Build --> Settings --> Tools Settings --> MCU GCC Compiler --> Include paths`。
37 | 3. 注释掉STM32CubeIDE默认代码中的`PendSV_Handler()`和`SysTick_Handler()`,避免重复定义。为避免重新生成代码时注释被优化,将`#if 0`放置在`DebugMon_Handler()`的用户段0,将`#endif`放置在`SysTick_Handler()`的用户段1。
38 | 4. 在 `STM32F407ZETX_FLASH.ld` 中的 `._user_heap_stack` 段定义 `__RAM_segment_used_end__`,其表示未使用RAM空间的起始地址,用于做动态分配。
39 | 5. 在 `startup_stm32f407zetx.`s 中定义全局变量 `_vectors`,其在 `tx_initialize_low_level_sample.S` 中被调用。
40 | 6. 删除 `tx_vector_table_sample.S`。该示例启动文件与默认启动文件 `startup_stm32f407zetx.s` 功能重复。
41 | 7. 修改时钟频率。
42 |
43 |
44 |
45 | ### 参考资料
46 |
47 | [The Top 10 Pitfalls of Embedded Open Source Software](https://rtos.com/wp-content/uploads/2018/01/EL_Pitfalls_of_Open_Source_Software.pdf)
48 |
49 | [首发从搭建环境开始,教你如何在小熊派上跑起来ThreadX操作系统!](https://www.codenong.com/cs106388532/)
50 |
51 | [小熊派带你初探最近叱咤风云的ThreadX全家桶](https://www.21ic.com/article/766878.html)
52 |
53 | [ThreadX操作系统在MDK中的移植方法](https://blog.csdn.net/Mculover666/article/details/106607238)
54 |
55 | [基于STM32H7的ThreadX内核GCC版,MDK和IAR个版本都整理完毕](http://www.armbbs.cn/forum.php?mod=viewthread&tid=98089)
56 |
57 | [ThreadX内核移植中__RAM_segment_used_end__的作用](http://www.armbbs.cn/forum.php?mod=viewthread&tid=98114&fromuid=58)
--------------------------------------------------------------------------------