예제 #1
0
파일: LCUI_Window.c 프로젝트: dwdcth/LCUI
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 );
    }
    //有待扩展
}
예제 #2
0
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);
}