亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? framewin_minmaxrest.c

?? ucos 移植 stm32 在iar5.2通過運行良好
?? C
字號:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : FRAMEWIN_MinMaxRest.c
Purpose     : Add. framewin routines
---------------------------END-OF-HEADER------------------------------
*/

#include <stdlib.h>
#include <string.h>
#include "FRAMEWIN_Private.h"
#include "WIDGET.h"
#include "GUI_Protected.h"
#include "WM_Intern.h"

#if GUI_WINSUPPORT

/*********************************************************************
*
*           Static routines
*
**********************************************************************
*/
/*********************************************************************
*
*       _InvalidateButton
*/
static void _InvalidateButton(FRAMEWIN_Obj* pObj, int Id) {
  WM_HWIN hChild;
  WM_Obj* pChild;
  for (hChild = pObj->Widget.Win.hFirstChild; hChild; hChild = pChild->hNext) {
    pChild = WM_H2P(hChild);
    if (WM_GetId(hChild) == Id) {
      WM_InvalidateWindow(hChild);
    }
  }
}

/*********************************************************************
*
*       _RestoreMinimized
*/
static void _RestoreMinimized(FRAMEWIN_Handle hObj, FRAMEWIN_Obj* pObj) {
  /* When window was minimized, restore it */
  if (pObj->Flags & FRAMEWIN_SF_MINIMIZED) {
    int OldHeight = 1 + pObj->Widget.Win.Rect.y1 - pObj->Widget.Win.Rect.y0;
    int NewHeight = 1 + pObj->rRestore.y1 - pObj->rRestore.y0;
    WM_ResizeWindow(hObj, 0, NewHeight - OldHeight);
    WM_ShowWindow(pObj->hClient);
    WM_ShowWindow(pObj->hMenu);
    FRAMEWIN__UpdatePositions(pObj);
    pObj->Flags &= ~FRAMEWIN_SF_MINIMIZED;
    _InvalidateButton(pObj, GUI_ID_MINIMIZE);
  }
}

/*********************************************************************
*
*       _RestoreMaximized
*/
static void _RestoreMaximized(FRAMEWIN_Handle hObj, FRAMEWIN_Obj* pObj) {
  /* When window was maximized, restore it */
  if (pObj->Flags & FRAMEWIN_SF_MAXIMIZED) {
    GUI_RECT r = pObj->rRestore;
    WM_MoveTo(hObj, r.x0, r.y0);
    WM_SetSize(hObj, r.x1 - r.x0 + 1, r.y1 - r.y0 + 1);
    FRAMEWIN__UpdatePositions(pObj);
    pObj->Flags &= ~FRAMEWIN_SF_MAXIMIZED;
    _InvalidateButton(pObj, GUI_ID_MAXIMIZE);
  }
}

/*********************************************************************
*
*       _MinimizeFramewin
*/
static void _MinimizeFramewin(FRAMEWIN_Handle hObj, FRAMEWIN_Obj* pObj) {
  _RestoreMaximized(hObj, pObj);
  /* When window is not minimized, minimize it */
  if ((pObj->Flags & FRAMEWIN_SF_MINIMIZED) == 0) {
    int OldHeight = pObj->Widget.Win.Rect.y1 - pObj->Widget.Win.Rect.y0 + 1;
    int NewHeight = FRAMEWIN__CalcTitleHeight(pObj) + pObj->Widget.pEffect->EffectSize * 2 + 2;    
    pObj->rRestore = pObj->Widget.Win.Rect;
    WM_HideWindow(pObj->hClient);
    WM_HideWindow(pObj->hMenu);
    WM_ResizeWindow(hObj, 0, NewHeight - OldHeight);
    FRAMEWIN__UpdatePositions(pObj);
    pObj->Flags |= FRAMEWIN_SF_MINIMIZED;
    _InvalidateButton(pObj, GUI_ID_MINIMIZE);
  }
}

/*********************************************************************
*
*       _MaximizeFramewin
*/
static void _MaximizeFramewin(FRAMEWIN_Handle hObj, FRAMEWIN_Obj* pObj) {
  _RestoreMinimized(hObj, pObj);
  /* When window is not maximized, maximize it */
  if ((pObj->Flags & FRAMEWIN_SF_MAXIMIZED) == 0) {
    WM_HWIN hParent = pObj->Widget.Win.hParent;
    WM_Obj* pParent = WM_H2P(hParent);
    GUI_RECT r = pParent->Rect;
    if (pParent->hParent == 0) {
      r.x1 = LCD_GetXSize();
      r.y1 = LCD_GetYSize();
    }
    pObj->rRestore = pObj->Widget.Win.Rect;
    WM_MoveTo(hObj, r.x0, r.y0);
    WM_SetSize(hObj, r.x1 - r.x0 + 1, r.y1 - r.y0 + 1);
    FRAMEWIN__UpdatePositions(pObj);
    pObj->Flags |= FRAMEWIN_SF_MAXIMIZED;
    _InvalidateButton(pObj, GUI_ID_MAXIMIZE);
  }
}

/*********************************************************************
*
*        Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       FRAMEWIN_Minimize
*/
void FRAMEWIN_Minimize(FRAMEWIN_Handle hObj) {
  if (hObj) {
    FRAMEWIN_Obj* pObj;
    WM_LOCK();
    pObj = FRAMEWIN_H2P(hObj);
    _MinimizeFramewin(hObj, pObj);
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       FRAMEWIN_Maximize
*/
void FRAMEWIN_Maximize(FRAMEWIN_Handle hObj) {
  if (hObj) {
    FRAMEWIN_Obj* pObj;
    WM_LOCK();
    pObj = FRAMEWIN_H2P(hObj);
    _MaximizeFramewin(hObj, pObj);
    WM_UNLOCK();
  }
}

/*********************************************************************
*
*       FRAMEWIN_Restore
*/
void FRAMEWIN_Restore(FRAMEWIN_Handle hObj) {
  if (hObj) {
    FRAMEWIN_Obj* pObj;
    WM_LOCK();
    pObj = FRAMEWIN_H2P(hObj);
    _RestoreMinimized(hObj, pObj);
    _RestoreMaximized(hObj, pObj);
    WM_UNLOCK();
  }
}

#else
  void FRAMEWIN_MinMaxRest_c(void) {} /* avoid empty object files */
#endif /* GUI_WINSUPPORT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线观看电影| 精品国产露脸精彩对白| 国产主播一区二区| 亚洲福利视频一区| 中文字幕欧美一区| 成人免费在线观看入口| 欧美国产1区2区| 久久久久久久久免费| 久久久国产一区二区三区四区小说 | 精品国产青草久久久久福利| 91福利资源站| 欧美另类z0zxhd电影| 色婷婷综合久久久中文一区二区 | 国产精品久久午夜夜伦鲁鲁| 久久日韩精品一区二区五区| 欧美一区二区三区白人| 欧美日韩国产免费| 欧美一级二级三级乱码| 9191久久久久久久久久久| 欧美综合一区二区| 欧美电视剧在线看免费| 欧美成人a在线| 欧美国产国产综合| 国产精品乱码久久久久久| 国产精品欧美一区二区三区| 亚洲免费大片在线观看| 伊人夜夜躁av伊人久久| 一区二区三区在线视频免费观看| 亚洲一区二区三区视频在线| 一区二区三区小说| 日韩二区在线观看| 高清国产一区二区三区| 不卡欧美aaaaa| 色综合久久久久综合体桃花网| 欧美精品一卡两卡| 欧美zozozo| 欧美国产精品一区二区三区| 一区二区三区在线观看动漫| 亚洲一二三四久久| 蜜桃视频免费观看一区| 成人app网站| 欧美日韩国产高清一区二区三区 | 黄页视频在线91| 国产精品456露脸| 91官网在线观看| 91精品国产福利| 久久精品综合网| 天堂久久一区二区三区| 国产精品一区二区x88av| 韩国三级中文字幕hd久久精品| 91视频在线看| 精品欧美一区二区三区精品久久| 日韩欧美一区在线观看| 亚洲午夜电影在线观看| 国产一区二区视频在线播放| 色偷偷一区二区三区| 精品国产亚洲一区二区三区在线观看| 久久九九久久九九| 精品一区二区三区免费视频| 色综合天天综合给合国产| 56国语精品自产拍在线观看| 亚洲激情中文1区| 国产一区二区不卡| 欧美丝袜丝nylons| 亚洲美女淫视频| 秋霞影院一区二区| 99精品国产一区二区三区不卡| 日韩一区二区免费高清| 一区二区三区国产精品| 国产a久久麻豆| 69精品人人人人| 日韩精品亚洲一区| 在线观看亚洲精品| 亚洲精品综合在线| 北条麻妃一区二区三区| 久久这里都是精品| 久久精品国产77777蜜臀| jlzzjlzz亚洲女人18| 久久久久久久久久久久电影 | 精品欧美一区二区三区精品久久 | 五月天激情综合| 国产成人亚洲综合a∨婷婷| 久久免费午夜影院| 国内精品久久久久影院色| 波多野结衣一区二区三区| 国产喷白浆一区二区三区| 久久99精品国产麻豆婷婷| 精品va天堂亚洲国产| 日韩电影在线观看网站| 欧美猛男男办公室激情| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩视频在线一区二区| 中文字幕在线一区| 在线精品视频免费观看| 一区二区三区在线观看动漫| 欧美精选午夜久久久乱码6080| 一区二区三国产精华液| 91麻豆精品一区二区三区| 亚洲一区二区三区四区五区中文| 色综合久久久久综合99| 亚洲自拍偷拍欧美| 精品日韩一区二区三区免费视频| 美女一区二区在线观看| 欧美性猛片aaaaaaa做受| 欧美国产一区二区在线观看| 色婷婷精品大在线视频| 亚洲综合激情网| 欧美一级高清片| 国产成人在线免费观看| 1000精品久久久久久久久| 欧美日韩大陆一区二区| 蜜桃视频免费观看一区| 欧美mv日韩mv国产网站app| 成人18视频日本| 亚洲高清一区二区三区| 亚洲国产精品99久久久久久久久 | 亚洲精品一卡二卡| 欧美va亚洲va香蕉在线| 成人动漫av在线| 另类小说色综合网站| 久久精品欧美日韩| aaa亚洲精品一二三区| 日韩电影在线免费看| 国产亚洲精品aa| 6080yy午夜一二三区久久| 成人福利视频网站| 免费成人在线观看| 亚洲柠檬福利资源导航| 欧美一级视频精品观看| av综合在线播放| 亚洲成人手机在线| 亚洲欧洲综合另类| 欧美精品一区二区在线播放| 欧美日韩精品免费观看视频| 国产成人h网站| 欧美videos中文字幕| 欧美亚洲一区二区在线观看| 久久99精品国产.久久久久久| 亚洲国产精品精华液网站| 久久综合久久综合久久| 555夜色666亚洲国产免| 在线视频综合导航| 成人视屏免费看| 国产精品一二三四| 美女精品一区二区| 日韩精品一二三| 亚洲成av人片在线观看无码| 久久精品人人做人人爽97| 久久综合久久综合久久| 制服丝袜av成人在线看| 欧美精品免费视频| 欧美综合欧美视频| eeuss影院一区二区三区| 成人国产精品免费观看动漫| 国产最新精品免费| 国内久久婷婷综合| 国产呦精品一区二区三区网站| 国产精品美女久久久久aⅴ国产馆| 精品国一区二区三区| 欧美一区二区视频观看视频| 欧美区一区二区三区| 在线看国产一区| av亚洲精华国产精华| 成人黄色网址在线观看| 国产.欧美.日韩| 91免费在线看| 91麻豆精品视频| 欧美喷潮久久久xxxxx| 欧美日韩在线三级| 欧美老女人在线| 精品日韩一区二区三区免费视频| 91网页版在线| 欧美久久一二区| 欧美日韩精品久久久| 精品区一区二区| 国产亚洲美州欧州综合国| 久久久精品免费观看| 欧美国产综合一区二区| 国产精品美女视频| 五月激情综合网| 蜜桃一区二区三区在线观看| 丁香网亚洲国际| 91色在线porny| 99久久99精品久久久久久 | av一二三不卡影片| 国产成人综合在线| 99re在线视频这里只有精品| 97久久超碰精品国产| 日韩欧美中文字幕公布| 日韩欧美一区二区免费| 国产精品人人做人人爽人人添| 亚洲欧美色图小说| 偷拍亚洲欧洲综合| 99精品久久只有精品| 在线国产电影不卡| 中文字幕乱码亚洲精品一区| 亚洲靠逼com| 国产乱码精品一区二区三区五月婷| 成人午夜av在线| 91一区一区三区|