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

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

?? editbin.c

?? ucgui源碼3.32
?? 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        : EditBin
Purpose     : Edit binary values
---------------------------END-OF-HEADER------------------------------
*/

#include <string.h>

#include "EDIT.h"
#include "GUIDebug.h"
#include "GUI_Protected.h"
#include "EDIT_Private.h"

#if GUI_WINSUPPORT

/*********************************************************************
*
*             Helpers
*
**********************************************************************
*/

static int _BinChar2Int(int Char) {
  if ((Char >= '0') && (Char <= '1'))
    return Char - '0';
  return -1;
}

static void _UpdateBuffer(EDIT_Obj* pObj) {
  char * s = (char*) WM_HMEM2Ptr(pObj->hpText);
  GUI_AddBin(pObj->CurrentValue, pObj->MaxLen, &s);
}

static void _EditBin(U8 Bit, EDIT_Obj* pObj, EDIT_Handle hObj) {
  int Pos = pObj->MaxLen - pObj->CursorPos - 1;   /* Bit position */
  U32 AndMask = ~(1   << Pos);
  U32 OrMask  =   Bit << Pos;
  I32 Result  = pObj->CurrentValue & AndMask;
  Result     |= OrMask;
  EDIT_SetValue(hObj, Result);
  /*
  U32 AndMask = ~(1   << Pos);
  U32 OrMask  =   Bit << Pos;
  pObj->CurrentValue &= AndMask;
  pObj->CurrentValue |= OrMask;
  if (pObj->CurrentValue > (U32)pObj->Max)
    pObj->CurrentValue = pObj->Max;
  if (pObj->CurrentValue < (U32)pObj->Min)
    pObj->CurrentValue = pObj->Min;
  */
}

static U8 _GetCurrentBit(EDIT_Obj* pObj) {
  int Pos = pObj->MaxLen - pObj->CursorPos - 1;   /* Bit position */
  U32 AndMask = 1 << Pos;
  U8 Bit = (pObj->CurrentValue & AndMask) >> Pos;
  return Bit;
}

static int _GetNumDigits(U32 Value) {
  int Ret;
  for (Ret = 0; Value; Value >>= 1, Ret++);
  return Ret;
}

/*********************************************************************
*
*             Handle input
*
**********************************************************************
*/

static void _AddKeyBin(EDIT_Obj* pObj, EDIT_Handle hObj, int Key) {
  if (pObj) {
    switch (Key) {
      case GUI_KEY_UP:
        {
          int Bit = _GetCurrentBit(pObj) + 1;
          if (Bit > 1)
            Bit = 0;
          _EditBin(Bit, pObj, hObj);
        }
        break;
      case GUI_KEY_DOWN:
        {
          int Bit = _GetCurrentBit(pObj) - 1;
          if (Bit < 0)
            Bit = 1;
          _EditBin(Bit, pObj, hObj);
        }
        break;
      case GUI_KEY_RIGHT:
        if (pObj->CursorPos < (pObj->MaxLen - 1))
          pObj->CursorPos++;
        break;
      case GUI_KEY_LEFT:
        if (pObj->CursorPos > 0)
          pObj->CursorPos--;
        break;
      default:
        {
          int Bit = _BinChar2Int(Key);
          if (Bit >= 0) {
            _EditBin(Bit, pObj, hObj);
            if (pObj->CursorPos < (pObj->MaxLen - 1))
              pObj->CursorPos++;
          }
        }
        break;
    }
  }
  _UpdateBuffer(pObj);
}

/*********************************************************************
*
*             Exported routines
*
**********************************************************************
*/

void EDIT_SetBinMode(EDIT_Handle hEdit, U32 Value, U32 Min, U32 Max) {
  EDIT_Obj* pObj;
  int MaxLen;
  WM_LOCK();
  pObj = EDIT_H2P(hEdit);
  pObj->pfAddKeyEx    = _AddKeyBin;
  pObj->pfUpdateBufer = _UpdateBuffer;
  pObj->CurrentValue = Value;
  pObj->CursorPos = 0;
  MaxLen = pObj->MaxLen;
  if (MaxLen <= 0 ) {
    MaxLen = _GetNumDigits(Max);
  }
  if (MaxLen > 32) {
    MaxLen = 32;
  }
  if (MaxLen != pObj->MaxLen) {
    EDIT_SetMaxLen(hEdit, MaxLen);
  }
  pObj->Min = Min;
  pObj->Max = Max;
  pObj->EditMode = GUI_EDIT_MODE_OVERWRITE;
  _UpdateBuffer(pObj);
  WM_UNLOCK();
}

#else  /* avoid empty object files */

void EditBin_C(void);

#endif /* GUI_WINSUPPORT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品中午字幕| 亚洲综合在线视频| 欧美精品一区二区三区久久久| 91国偷自产一区二区三区观看| 色伊人久久综合中文字幕| 99久久精品国产精品久久| 成人免费视频一区二区| 成人久久久精品乱码一区二区三区| 国产成人精品免费| 成人性色生活片免费看爆迷你毛片| 国产成人精品免费网站| caoporm超碰国产精品| 972aa.com艺术欧美| 欧美视频一区二区在线观看| 欧美日韩综合不卡| 91精品午夜视频| 欧美国产一区在线| 国产亚洲污的网站| 中文字幕中文乱码欧美一区二区| 精品久久免费看| 日韩久久久精品| 国产视频亚洲色图| 国产精品久久久久7777按摩| 亚洲精品中文字幕在线观看| 亚洲福利视频三区| 久久国产三级精品| 国产乱码字幕精品高清av| 成人av电影免费在线播放| 91色婷婷久久久久合中文| 欧美三级一区二区| 欧美v日韩v国产v| 国产精品青草久久| 亚洲午夜在线视频| 久久www免费人成看片高清| 丁香亚洲综合激情啪啪综合| 色老汉av一区二区三区| 91麻豆精品国产91久久久久| 久久久综合网站| 亚洲乱码中文字幕| 麻豆久久久久久久| fc2成人免费人成在线观看播放 | 国产精品主播直播| caoporn国产一区二区| 6080日韩午夜伦伦午夜伦| 久久久久久夜精品精品免费| 一区二区三区中文在线观看| 久久成人久久爱| 91国偷自产一区二区使用方法| 日韩欧美在线不卡| 依依成人精品视频| 国产在线精品一区二区三区不卡| 91香蕉视频污在线| 欧美变态tickle挠乳网站| 亚洲素人一区二区| 蜜桃视频在线一区| 91国产免费看| 久久亚洲一区二区三区明星换脸| 亚洲靠逼com| 国产伦精品一区二区三区免费迷| 日本电影亚洲天堂一区| 久久综合成人精品亚洲另类欧美 | 99久久精品免费| 欧美电影免费观看完整版| 亚洲精品乱码久久久久久| 国精产品一区一区三区mba视频| 国产亚洲精品免费| 国产精品第四页| 婷婷综合久久一区二区三区| 懂色av中文一区二区三区| 欧美日韩国产一区| 中文字幕亚洲电影| 狠狠色丁香久久婷婷综| 欧美日韩dvd在线观看| 综合久久久久久| 国产福利一区二区三区视频在线| 欧美一区二区三区白人| 亚洲一区二区免费视频| av高清久久久| 国产亚洲福利社区一区| 久久精品国产在热久久| 欧美日韩精品系列| 亚洲午夜一二三区视频| 色综合久久久久综合99| 国产精品青草综合久久久久99| 国产激情一区二区三区四区| 日韩写真欧美这视频| 日韩一区精品视频| 欧美嫩在线观看| 亚洲主播在线播放| 国产欧美综合在线| 久久国产精品一区二区| 666欧美在线视频| 亚洲国产综合91精品麻豆| 色婷婷av一区二区三区软件| 国产精品福利电影一区二区三区四区| 国产精一品亚洲二区在线视频| 日韩免费成人网| 美日韩黄色大片| 欧美一卡二卡在线| 蜜桃91丨九色丨蝌蚪91桃色| 欧美二区三区的天堂| 婷婷开心久久网| 欧美电影在线免费观看| 日本大胆欧美人术艺术动态| 91精品国产日韩91久久久久久| 午夜激情久久久| 欧美一级黄色片| 看国产成人h片视频| 日韩欧美一二三| 国产一区二区三区综合| 久久久久久久性| 成人黄色综合网站| 亚洲色图欧洲色图婷婷| 91国偷自产一区二区开放时间| 亚洲综合色视频| 欧美日韩免费电影| 日本va欧美va精品发布| 久久亚洲一区二区三区明星换脸| 国产精品一区二区在线观看不卡 | 2023国产精品自拍| 国产一区二区不卡老阿姨| 国产亚洲精品7777| 91在线视频免费观看| 亚洲一区二区综合| 91精品国产综合久久久久| 精彩视频一区二区| 国产精品网站在线| 色88888久久久久久影院野外| 亚洲第一二三四区| 精品国精品国产| 成人aa视频在线观看| 亚洲国产成人精品视频| 日韩午夜激情电影| 成人黄页毛片网站| 五月婷婷综合网| 久久久美女毛片| 色一情一伦一子一伦一区| 蜜臀av一区二区在线免费观看| 久久久美女毛片| 91激情在线视频| 精品在线视频一区| 亚洲日本成人在线观看| 91麻豆精品国产91久久久久久久久 | 久久精品国产一区二区| 在线观看免费一区| 蜜桃视频在线观看一区| 亚洲国产激情av| 欧美日韩综合在线| 国产乱国产乱300精品| 亚洲靠逼com| 精品久久一区二区三区| 成人深夜视频在线观看| 首页亚洲欧美制服丝腿| 国产亚洲一二三区| 欧美日韩国产综合久久| 国产成人精品在线看| 亚洲图片一区二区| 国产欧美日韩麻豆91| 精品视频一区二区三区免费| 国产一区二区三区精品欧美日韩一区二区三区| 国产精品区一区二区三区| 91精品在线观看入口| 97国产一区二区| 久久精品国产澳门| 夜夜亚洲天天久久| 国产午夜一区二区三区| 欧美无人高清视频在线观看| 韩国成人在线视频| 亚洲国产aⅴ天堂久久| 欧美国产一区二区在线观看 | 26uuu精品一区二区| 欧美艳星brazzers| bt7086福利一区国产| 久久国产尿小便嘘嘘尿| 亚洲一二三四在线| 国产精品久久久久桃色tv| 婷婷一区二区三区| 亚洲精选免费视频| 国产精品理论在线观看| 亚洲精品一区二区三区精华液| 欧美性三三影院| 91蜜桃视频在线| 风间由美一区二区三区在线观看 | 亚洲欧洲综合另类| 国产亚洲欧美日韩在线一区| 欧美精选一区二区| 欧洲av一区二区嗯嗯嗯啊| 丰满白嫩尤物一区二区| 国内国产精品久久| 免费在线欧美视频| 五月天婷婷综合| 樱花草国产18久久久久| 亚洲天堂中文字幕| 国产精品系列在线| 国产日本欧美一区二区| 久久亚洲欧美国产精品乐播| 日韩欧美的一区二区| 日韩视频免费观看高清完整版 | 久久综合久久99| 日韩欧美精品在线|