lite源码阅读(四)所有的函数

下面列出所有的函数

1 lite lite

lite_open
lite_close
lite_get_layer_interface
lite_get_layer_size
init_default_cursor
free_default_cursor

2 lite window

lite_new_window
lite_set_window_opacity
lite_window_event_loop
lite_destroy_window
lite_set_window_background_color

3 lite label

lite_new_label
lite_set_label_text
lite_set_label_alignment
lite_set_label_font
lite_set_label_color
destroy_label
draw_label

4 lite textline

lite_new_textline
lite_set_textline_text
lite_get_textline_text
lite_on_textline_enter
lite_on_textline_abort
destroy_textline
draw_textline
on_focus_in
on_focus_out
set_modified
clear_modified
on_key_down
on_button_down


5 lite button

lite_new_button
lite_set_button_type
lite_enable_button
lite_set_button_state
lite_get_button_state
lite_set_button_image
lite_set_button_image_desc
lite_set_button_image_surface
lite_on_button_press
destroy_button 
on_enter 
on_leave 
on_button_down 
on_button_up
draw_button


6 lite image

lite_new_image
lite_load_image 
lite_set_image_blitting_flags
lite_set_image_clipping
lite_set_image_reflection
lite_set_image_visible
destroy_image
draw_image

7 lite box

lite_draw_box
lite_focus_box

8 lite progressbar

lite_new_progressbar
lite_set_progressbar_images
lite_set_progressbar_value
destroy_progressbar
draw_progressbar

9 lite slider

lite_new_slider
lite_set_slider_pos
lite_on_slider_update
destroy_slider
draw_slider
on_focus_in
on_focus_out
on_button_down
on_motion

10 lite text button

lite_new_text_button
lite_set_text_button_caption
lite_enable_text_button
lite_set_text_button_state
lite_on_text_button_press
lite_new_text_button_theme
lite_destroy_text_button_theme
destroy_text_button
on_enter
on_leave
on_button_down
on_button_up
draw_text_button
make_truncated_string
draw_text_button_caption
draw_text_button_bkgnd

11 lite check

lite_new_check_theme
lite_new_check
lite_set_check_caption
lite_enable_check
lite_check_check
lite_get_check_state
lite_on_check_press
lite_destroy_check_theme
destroy_check
on_leave
on_button_down
on_button_up
draw_check
make_truncated_string
draw_check_caption

12 lite scrollbar

lite_new_scrollbar
lite_enable_scrollbar
lite_set_scroll_pos
lite_get_scroll_pos
lite_on_scrollbar_update
lite_set_scroll_info
lite_new_scrollbar_theme
lite_destroy_scrollbar_theme
destroy_scrollbar
draw_scrollbar
on_enter
on_leave
on_focus_in
on_focus_out
on_button_down
on_button_up
on_motion
draw_enlarged_image
get_scrollbar_rect
pt_in_rect
on_scroll
can_scroll

13 lite animation

lite_new_animation
lite_load_animation
lite_start_animation
lite_update_animation
lite_stop_animation
lite_animation_running
destroy_animation
draw_animation

14 lite list

lite_new_list
lite_list_set_row_height
lite_list_get_row_height
lite_enable_list
lite_list_insert_item
lite_list_get_item
lite_list_set_item
lite_list_del_item
lite_list_sort_items
lite_list_get_item_count
lite_list_get_selected_item_index
lite_list_set_selected_item_index
lite_list_ensure_visible
lite_list_on_draw_item
lite_list_on_sel_change
lite_list_recalc_layout
lite_new_list_theme
lite_destroy_list_theme
destroy_list
draw_list
on_enter
on_leave
on_focus_in
on_focus_out
on_button_down
on_button_up
on_motion
on_key_down
on_vertical_scrollbar_update
pt_in_rect
get_vertical_scrollbar_rect
list_needs_scroll
list_hittest
list_update_scrollbar

15 lite box

lite_new_box
lite_draw_box
lite_update_box
lite_destroy_box_contents
lite_destroy_box
lite_init_box
lite_init_box_at
lite_reinit_box_and_children
lite_clear_box
lite_add_child
lite_remove_child
lite_set_box_visible
draw_box_and_children
defocus_me_or_children
deenter_me_or_children
undrag_me_or_children


16 lite cursor

lite_get_current_cursor
lite_set_current_cursor
lite_load_cursor_from_file
lite_load_cursor_from_desc
lite_free_cursor
lite_set_window_cursor
lite_show_cursor
lite_hide_cursor
lite_change_cursor_opacity
lite_get_cursor_opacity
lite_set_cursor_hotspot

17 lite event

lite_get_main_event_buffer
lite_get_current_key_modifier
lite_exit_event_loop
lite_set_exit_idle_loop
prvlite_set_current_key_modifier
prvlite_create_event_buffer
prvlite_release_event_buffer
prvlite_attach_to_event_buffer
prvlite_set_event_loop_alive
prvlite_wakeup_event_loop


18 lite font

lite_get_font
lite_get_font_from_file
lite_ref_font
lite_get_font_filename
lite_release_font
lite_font
lite_set_active_font
lite_get_active_font
cache_get_entry_from_file
cache_get_entry
cache_release_entry
prvlite_font_init

在lite_config.h里面定义了默认的字体:
#define DEFAULT_FONT_SYSTEM                     "vera"
在创建一些控件如label,button的时候要取得字体,如果没有字体的话当然也就无法运行了.默认的安装路径是/usr/local/share/fonts/truetype下.

当然除了定义使用什么字体,也可以定义字体的类型,在font.c中定义了四种类型:
static char* font_styles_global[4] = {
     "", "bd", "i", "bi"
};

分别是正常,bold, italic, bold italic.
在webkitdfb中初始化就用到了bd.

struct _LiteFont {
     int            refs;
     char          *file;
     int            size;
     IDirectFBFont *font;
     DFBFontAttributes attr;


     LiteFont      *next;
     LiteFont      *prev;
};
static LiteFont        *fonts       = NULL;
在文件开始处定义了结构体LiteFont全局变量fonts.如果现在的程序中使用了一种新的字体就增加在这个双向链表的头部.如果现在使用的这种字体已经在链表中有了就对引用值加1就可以了.

19 lite theme

lite_theme_frame_load
lite_theme_frame_unload
lite_theme_frame_target_update

20 lite util

lite_util_load_image
lite_util_load_image_desc
lite_util_tile_image
lite_util_sub_surface

21 lite window

lite_new_window
lite_init_window
lite_window_set_creator
lite_window_get_creator
release_grabs
lite_release_window_drag_box
lite_window_set_modal
draw_updated_windows
lite_enqueue_window_timeout
lite_remove_window_timeout
lite_rebase_window_timeouts
remove_next_timeout_callback
get_time_until_next_timeout
lite_enqueue_idle_callback
lite_remove_idle_callback
remove_top_idle_callback
lite_window_event_loop
run_window_event_loop
lite_window_event_available
lite_set_window_enabled
lite_update_all_windows
lite_update_window
lite_set_window_title
lite_set_window_opacity
lite_set_window_background
lite_set_window_background_color
lite_set_window_blend_mode
lite_resize_window
lite_set_window_bounds
lite_get_window_size
lite_restore_window
lite_focus_box
lite_handle_window_event
lite_flush_window_events
lite_post_event_to_window
lite_on_window_event
lite_on_window_universal_event
lite_on_window_user_event
lite_find_my_window
lite_close_window
lite_destroy_window
lite_destroy_all_windows
lite_on_raw_window_mouse
lite_on_raw_window_mouse_moved
lite_on_window_mouse
lite_on_raw_window_keyboard
lite_on_window_keyboard
lite_on_raw_window_wheel
lite_on_window_wheel
lite_release_window_resources
lite_get_event_buffer
lite_default_window_theme_loaded
lite_free_window_theme
flush_resize
flush_motion
handle_move
handle_resize
handle_close
handle_enter
handle_leave
handle_lost_focus
validate_entered_box
handle_got_focus
handle_motion
handle_button
handle_key_up
handle_key_down
handle_wheel
find_child
child_coords
find_window_by_id
focus_traverse
add_window
remove_window
destroy_window_data
handle_destroy
render_title
render_border
draw_window
create_event_buffer
prvlite_load_default_window_theme
prvlite_release_window_resources


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Ahb Lite是一种简化的AMBA(Advanced Microcontroller Bus Architecture)总线协议,用于连接片上系统中的主设备和从设备。下面是对Ahb Lite源码的简要解释: Ahb Lite源码是指实现Ahb Lite协议的软件代码。它通常用于描述Ahb Lite总线的控制器和其他相关硬件设备的驱动程序。 Ahb Lite协议定义了一种高性能、低功耗、并支持多主的总线通信协议。这种协议提供了一种统一的接口,使得系统中的主设备可以与从设备进行数据传输和控制信息的交换。通过合理编写Ahb Lite源码,可以实现主设备与从设备之间的通信。 Ahb Lite总线控制器的源码一般包括以下几个方面的内容:总线接口、时钟和同步逻辑、传输控制逻辑、错误检测和修复机制等。在这些源码中,通过编写适当的硬件描述语言(如Verilog或VHDL)代码来描述Ahb Lite总线控制器的工作原理和功能。 Ahb Lite从设备的源码则是为从设备编写的驱动程序,用于实现该设备与Ahb Lite总线控制器之间的通信。这些源码一般包括配置寄存器、状态寄存器、数据缓冲区等模块的实现。 通过阅读Ahb Lite源码,可以深入了解Ahb Lite总线协议的工作原理和实现细节,并根据需求进行源码的扩展与修改。对于硬件开发者和嵌入式系统工程师来说,理解Ahb Lite源码可以帮助他们更好地开发基于该协议的总线控制器和设备驱动。 ### 回答2: AHB Lite,即Advanced High-performance Bus Lite,是一种轻量级的硬件接口协议,用于在SoC(System on Chip)设计中连接高性能模块之间的通信。该协议使用简单的传输机制,允许多个主设备同时访问单个从设备,从而提高系统的并发性和效率。 AHB Lite源码是指实现AHB Lite协议的硬件描述语言(HDL)代码。这些代码定义了AHB Lite协议中的信号和逻辑操作,并描述了主从设备之间的连接方式和数据传输方式。AHB Lite源码通常是以Verilog或VHDL的形式呈现。 AHB Lite源码主要包括以下几个方面的内容: 1. 设备接口模块:定义了主设备和从设备之间的接口信号,如地址线、数据线、使能信号等。该模块负责处理主从设备之间的数据传输。 2. 控制逻辑模块:根据AHB Lite的工作原理和规范,实现了处理主设备请求的逻辑。该模块负责管理主从设备之间的数据传输流程,包括地址传输、数据传输、读写操作等。 3. 数据处理模块:对于主设备的读写请求,需要进行数据的处理和转发。该模块负责将数据从主设备读取到从设备或将数据从从设备传输到主设备,并进行对应的处理操作。 通过编写AHB Lite源码,可以根据系统需求实现特定的主从设备和总线连接方式,满足不同的应用场景和设计要求。同时,通过优化AHB Lite源码,可以提高系统的性能和可靠性。 总之,AHB Lite源码是实现AHB Lite协议的硬件描述语言代码,是构建SoC设计中连接高性能模块的关键组成部分。编写和优化AHB Lite源码可以实现高效的数据传输和系统性能的优化。 ### 回答3: AHB Lite源码是指由AHB Lite接口实现的硬件设计源代码。AHB Lite是一种轻量级的总线协议,用于在SoC(系统级芯片)中连接不同的硬件模块,以实现数据传输和控制。它是AHB(Advanced High-performance Bus)总线协议的简化版本,主要用于低功耗和低延迟的系统。 AHB Lite源码由硬件设计工程师编写,用于定义和实现AHB Lite接口的功能和行为。这些源代码通常使用硬件描述语言(HDL),如Verilog或VHDL编写,并通过硬件开发工具进行编译和综合。 AHB Lite源码包括以下主要部分: 1. 接口定义:包括信号线的名称、宽度和方向。这些信号线用于传输数据、地址和控制信号。 2. 控制逻辑:定义和实现数据传输的控制逻辑,包括读写请求的生成、仲裁和响应。 3. 时序逻辑:定义和实现数据传输的时序要求,如时钟和时钟域的管理。 4. 数据处理逻辑:处理数据的读写操作,包括数据的存储和读取。 5. 异常处理:处理各种异常情况,如读写超时、总线错误等。 通过编写AHB Lite源码,可以实现各种硬件设备和模块的互连和数据传输。同时,AHB Lite源码还可用于验证和仿真设计,在硬件开发过程中进行功能验证和调试。 总之,AHB Lite源码是实现AHB Lite接口功能和行为的硬件设计源代码,通过编写和实现这些源码,可以实现SoC中的硬件模块之间的数据传输和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值