static void Show_Window(LCUI_Widget *win_p) /* 功能:在窗口显示时,进行相关处理 */ { LCUI_Size size; LCUI_Pos pos; LCUI_Window *win; win = (LCUI_Window*)Get_Widget_PrivData(win_p); win->count++; if(win->count == 1) {/* 如果是第一次显示 */ size = _Get_Widget_Container_Size( win_p ); pos = Align_Get_Pos( size, _Get_Widget_Size(win_p), win->init_align ); Move_Widget( win_p, pos ); } //有待扩展 }
void Set_PictureBox_Size_Mode(LCUI_Widget *widget, int mode) /* 功能:设定图片盒子的图像显示模式 */ { LCUI_PictureBox *pic_box; LCUI_Size my_size; pic_box = Get_Widget_PrivData(widget); if(pic_box->size_mode == mode) { return; } float scale_x,scale_y; pic_box->size_mode = mode; if( !pic_box->image ) { return; } my_size = _Get_Widget_Size( widget ); switch(mode) { case SIZE_MODE_BLOCK_ZOOM: case SIZE_MODE_ZOOM: if( my_size.w <= 0 || my_size.h <= 0) { pic_box->scale = 1.0; } else { scale_x = (float)my_size.w / pic_box->image->width; scale_y = (float)my_size.h / pic_box->image->height; if(scale_x < scale_y) { pic_box->scale = scale_x; } else { pic_box->scale = scale_y; } } Zoom_PictureBox_View_Area(widget, pic_box->scale); break; default: pic_box->scale = 1.0; break; } Draw_Widget(widget); }