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

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

?? dalcwdde.c

?? 此代碼為WCE5.0下顯示器的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:

              case DAL_CONTROLLER_CAPS_HW_ICON:                
                lpControllerCaps->ulCapsSupported |= CWDDEDI_CONTROLLER_CAPS_HW_ICON;
                break;

              case DAL_CONTROLLER_CAPS_OVERLAY_GAMMA:
                lpControllerCaps->ulCapsSupported |= CWDDEDI_CONTROLLER_CAPS_OVERLAY_GAMMA;
                break;

              case DAL_CONTROLLER_CAPS_CURSOR_BLINK:
                lpControllerCaps->ulCapsSupported |= CWDDEDI_CONTROLLER_CAPS_CURSOR_BLINK_SPEED;
                break;

              case DAL_CONTROLLER_CAPS_EXCLUSIVE_HW_CURSOR_ICON:
                lpControllerCaps->ulCapsSupported |= CWDDEDI_CONTROLLER_CAPS_EXCLV_HW_CURSOR_ICON;
                break;

              case DAL_CONTROLLER_CAPS_SWITCHABLE_OVERLAY:
                lpControllerCaps->ulCapsSupported |= CWDDEDI_CONTROLLER_CAPS_SWITCHABLE_OVERLAY;
                break;

            }

            i <<= 1;

          };

          // force these values to zero in case the caller is trying to read
          // so information out of these in a future version and we do not
          // support that future version.

          lpControllerCaps->ulReserved1 = 0;
          lpControllerCaps->ulReserved2 = 0;
          lpControllerCaps->ulReserved3 = 0;
        }
      }
      *lpInfoSize = sizeof(CONTROLLERCAPS);
      break;

    case CWDDEDI_ControllerGetInfo:
      {
        CONTROLLERINFO FAR *lpControllerInfo;
        LPDEVGCO            lpController;
        LPDEVGDO            lpDisplay;
        GCO_QUERY_STRUCTURE sQueryGCO;
        ULONG               ulIndex;
     //   ULONG               ulHook;

        if (lpCmd->ulIndex >= lpHDE->ulControllersCount)
        {
          ulReturn = CWDDE_ERR_BADINPUT;
        } else if (ulOutputSize < sizeof(CONTROLLERINFO))
        {
          // cannot return the version because there is insufficient room in
          // the output buffer for an CONTROLLERINFO structure

          ulReturn = CWDDE_ERR_BADOUTPUTSIZE;
        } else if ((!(lpHDE->aControllerMap[lpCmd->ulDriverReserved] &
                       VECTORFROMINDEX(lpCmd->ulIndex))) &&
                     (lpHDE->aControllers[lpCmd->ulIndex].ulFlags & GCO_MAPPED))
        {
          // calling driver does not own the controller, so fail the call
          ulReturn = CWDDE_ERR_BADINPUT;
        } else
        {
          lpController = (LPDEVGCO) &lpHDE->aControllers[lpCmd->ulIndex];

          lpControllerInfo = (CONTROLLERINFO FAR *)lpOutput;
          lpControllerInfo->ulSize = sizeof(CONTROLLERINFO);

          lpControllerInfo->ulDisplaysCanEnable = 0;

          for(i = 0; i < lpHDE->ulDisplaysCount; i++)
          {
            lpDisplay = (LPDEVGDO) &lpHDE->aDisplays[i];

            // mark each display as mapable, and remove it if some condition
            // exists which will restrict it from mapping to the controller

            lpControllerInfo->ulDisplaysCanEnable |= VECTORFROMINDEX(i);
          }

          // get the pertinent info from the GCO

          ZEROMEMORY((LPGCO_QUERY_STRUCTURE) &sQueryGCO, sizeof(GCO_QUERY_STRUCTURE));
          (*lpController->lpHWED->pfnGetInfo)
                          (lpController->hGCO, lpController->ulController,
                           (LPGCO_QUERY_STRUCTURE) &sQueryGCO);

          lpControllerInfo->ulHorizontalRefresh = (sQueryGCO.ulHorizontalRefreshRate / 1000);

          // overlay brightness should be obsolete here;
          ZEROMEMORY((LPVOID)&lpControllerInfo->OverlayGamma, sizeof(HW_ADJUSTMENT));
          if (DAL_OVLADJUST_SUPPORTED_FLAG & 
               lpHDE->asOvlAdjust[DAL_OVERLAY_ADJUSTTYPE_BRIGHTNESS].ulFlags)
          {
            (*lpController->lpHWED->pfnGetOverlayGammaAdjustment)
                         (lpController->hGCO,
                          (LPHW_ADJUSTMENT)&(lpControllerInfo->OverlayGamma));
            if (!(DAL_CONTROLLER_OVERLAY_RGB & lpController->ulControllerFlags))
            {
              ulIndex = ulGetOverlayPriorityDisplay(lpController->ulDisplayTypes);
              lpControllerInfo->OverlayGamma.lDefault =
                                lpHDE->alOverlayYUVDefaultBrightness[ulIndex];
            }
          }

          // zero initialize the structure so unhooked adjustemnt are initialized to zero
          ZEROMEMORY((LPVOID)&lpControllerInfo->Expansion, sizeof(HW_ADJUSTMENT));
          ZEROMEMORY((LPVOID)&lpControllerInfo->CursorBlinkingSpeed, sizeof(HW_ADJUSTMENT));

          for (ulIndex = 0; ulIndex < DAL_MAX_GCO_ADJUSTMENTS; ulIndex++)
		  {
            // loop through each possible adjustment for the controller, and query
            // the defaults for the adjustment functions hooked by the controller
            if ((lpController->lpHWED->ulFunctionHooks &
                          aGCO_Adjustment[ulIndex].ulHook) &&
                (aGCO_Adjustment[ulIndex].ulHookIndex ==0))
            {
              switch(aGCO_Adjustment[ulIndex].ulHook)
              {
                case GCO_HOOK_TEXT_CURSOR_BLINKING_ADJUSTMENT:
                {           
                  MOVEMEMORY((LPVOID)&lpControllerInfo->CursorBlinkingSpeed,
                             (LPVOID)&lpController->aAdjustment[ulIndex],
                             sizeof(HW_ADJUSTMENT));
                }

                break;

                case GCO_HOOK_RATIOMETRIC_EXPANSION_ADJUSTMENT:
                {
                  // Check specifically if this controller supports
                  // expansion. If not just don't do anything.
                  if (lpController->lpHWED->aControllerCaps[lpController->ulController] 
                       & DAL_CONTROLLER_CAPS_EXPANSION)
                  {
                    MOVEMEMORY((LPVOID)&lpControllerInfo->Expansion,
                               (LPVOID)&lpController->aAdjustment[ulIndex],
                                sizeof(HW_ADJUSTMENT));
                  }
                }

                break;
              }
            }
          }

          // Return Desktop size to the caller. Implemented for direct
          // draw people.
          lpControllerInfo->lDesktopResolutionCx = lpController->siDesktop.cx;
          lpControllerInfo->lDesktopResolutionCy = lpController->siDesktop.cy;

          // force these values to zero in case the caller is trying to read
          // so information out of these in a future version and we do not
          // support that future version.

          lpControllerInfo->ulReserved1 = 0;
        }
      }
      *lpInfoSize = sizeof(CONTROLLERINFO);
      break;

    case CWDDEDI_ControllerGetConfig:
      {
        CONTROLLERCONFIG FAR *lpControllerConfig;
        LPDEVGCO              lpController;
        //LPDEVGDO              lpDisplay;
        GCO_QUERY_STRUCTURE   sQueryGCO;
        ULONG                 ulSpan;
        ULONG                 ulPixel;
       // ULONG                 ulHook;
        ULONG                 ulIndex;

        if (lpCmd->ulIndex >= lpHDE->ulControllersCount)
        {
          ulReturn = CWDDE_ERR_BADINPUT;
        } else if (ulOutputSize < sizeof(CONTROLLERCONFIG))
        {
          // cannot return the version because there is insufficient room in
          // the output buffer for an CONTROLLERCONFIG structure

          ulReturn = CWDDE_ERR_BADOUTPUTSIZE;
        } else if ((!(lpHDE->aControllerMap[lpCmd->ulDriverReserved] &
                      VECTORFROMINDEX(lpCmd->ulIndex))) &&
                     (lpHDE->aControllers[lpCmd->ulIndex].ulFlags & GCO_MAPPED))
        {
          // calling driver does not own the controller, so fail the call
          ulReturn = CWDDE_ERR_BADINPUT;
        } else
        {
          lpController = (LPDEVGCO) &lpHDE->aControllers[lpCmd->ulIndex];

          lpControllerConfig = (CONTROLLERCONFIG FAR *)lpOutput;
          lpControllerConfig->ulSize = sizeof(CONTROLLERCONFIG);

          // CWDDE documentation is unclear here if this need be programmed,
          // but for conveniance the DAL will copy back the index anyways
          lpControllerConfig->ulControllerIndex = lpCmd->ulIndex;

          // Fetch the screen resolution for the caller
          lpControllerConfig->lViewResolutionCx = (LONG)
                      lpController->sModeInfo.ulPelsWidth;
          lpControllerConfig->lViewResolutionCy = (LONG)
                      lpController->sModeInfo.ulPelsHeight;
          lpControllerConfig->ulVerticalRefresh = (ULONG)
                      lpController->sModeInfo.ulDisplayFrequency;

          if (lpController->ulFlags & GCO_PANLOCKED)
          {
            // controller is pan locked, hence program back the pan locking
            // rectnagle to the caller

            lpControllerConfig->lPanViewLockTop    = lpController->rtPanLock.top;
            lpControllerConfig->lPanViewLockLeft   = lpController->rtPanLock.left;
            lpControllerConfig->lPanViewLockBottom = lpController->rtPanLock.bottom;
            lpControllerConfig->lPanViewLockRight  = lpController->rtPanLock.right;

          } else
          {
            // controller is not pan locked, hence pass back a pan locking
            // rectnagle of all zeros to indicate no pan locking in place

            lpControllerConfig->lPanViewLockTop    = 0;
            lpControllerConfig->lPanViewLockLeft   = 0;
            lpControllerConfig->lPanViewLockBottom = 0;
            lpControllerConfig->lPanViewLockRight  = 0;
          }

          if (lpController->ulFlags & GCO_VIEWSIZELOCKED)
          {
            lpControllerConfig->ulLockSmartView = TRUE;
          } else
          {
            lpControllerConfig->ulLockSmartView = FALSE;
          }

          lpControllerConfig->lCursorBlinkSpeed = 0;
          lpControllerConfig->lOverlayGamma = 0;
          lpControllerConfig->lExpansion = 0;

          // overlay brightness should be obsolete here;
          if (DAL_OVLADJUST_SUPPORTED_FLAG & 
               lpHDE->asOvlAdjust[DAL_OVERLAY_ADJUSTTYPE_BRIGHTNESS].ulFlags)
          {
            ulIndex = lpController->ulDisplayTypes & HW_DISPLAY_TYPES_MASK;
            lpControllerConfig->lOverlayGamma = lpHDE->asOvlAdjust
                       [DAL_OVERLAY_ADJUSTTYPE_BRIGHTNESS].lpAdjusts[ulIndex];
          }

          // expansion is treated as an adjustment, so thunk the adjustment
          // into the DAL's internal flags

          for (ulIndex = 0; ulIndex < DAL_MAX_GCO_ADJUSTMENTS; ulIndex++)
          {
            // loop through each possible adjustment for the controller, and
            // set the adjustment state for adjustements that
            // are hooked by the Controller
            if ((lpController->lpHWED->ulFunctionHooks &
                          aGCO_Adjustment[ulIndex].ulHook) &&
                (aGCO_Adjustment[ulIndex].ulHookIndex ==0))
            {
              switch(aGCO_Adjustment[ulIndex].ulHook)
              {
                case GCO_HOOK_TEXT_CURSOR_BLINKING_ADJUSTMENT:
                {           
                  lpControllerConfig->lCursorBlinkSpeed = lpController->alAdjustments[ulIndex];
                }

                break;

                case GCO_HOOK_RATIOMETRIC_EXPANSION_ADJUSTMENT:
                {
                  // Check specifically if this controller supports
                  // expansion. If not just don't do anything.
                  if (lpController->lpHWED->aControllerCaps[lpController->ulController] 
                       & DAL_CONTROLLER_CAPS_EXPANSION)
                  {
                    if (lpController->ulFlags & GCO_EXPANSION)
                    {
                      lpControllerConfig->lExpansion = 1;
                    }
                  }
                }

                break;
              }
            }
          }

          lpControllerConfig->ulEnabledDisplays = lpController->ulDisplays;

          if ((lpController->ulFlags & GCO_ACTIVE)
             &&(!(lpHDE->aDriverData[lpCmd->ulDriverReserved].ulFlags &DRIVERDATA_DDEXCLUSIVEMODE)))
          {
            if (GCO_HOOK2_GETDISPLAYXYPOS & lpController->lpHWED->ulFunctionHooks2)
            {
              (*lpController->lpHWED->pfnGCOGetDisplayXYPos)(lpController->hGCO,
                                                             lpController->ulController,
                                                             (LPULONG)&lpControllerConfig->lViewPositionX,
                                                             (LPULONG)&lpControllerConfig->lViewPositionY);
            }
            else
            {
              // get the pertinent info from the GCO
              ZEROMEMORY((LPGCO_QUERY_STRUCTURE) &sQueryGCO, sizeof(GCO_QUERY_STRUCTURE));
              (*lpController->lpHWED->pfnGetInfo)
                              (lpController->hGCO, lpController->ulController,
                               (LPGCO_QUERY_STRUCTURE) &sQueryGCO);

              sQueryGCO.ulDisplayOffset -= lpController->ulOffset;
                        
              if (sQueryGCO.ulFlags & GCO_QUERY_STRUCTURE_FLAGS_TILEENABLED) 
              {
                vCalculateTiledCoordinatesFromOffset(sQueryGCO.ulDisplayOffset ,
                                                     (lpController->sModeInfo.ulBitsPerPixel >> 3),
                                                      sQueryGCO.ulTileWidthBytes,
                                                      lpController->ulPitch, 
                                                      sQueryGCO.ulTileHeightLines,
                                                      (LPULONG)&lpControllerConfig->lViewPositionX,
                                                      (LPULONG)&lpControllerConfig->lViewPositionY);
              }
              else
              {
                sQueryGCO.ulDisplayOffset /= (lpController->sModeInfo.ulBitsPerPixel >> 3);

                // these divides are a killer if they are not initialized

                ulSpan = sQueryGCO.ulDisplayOffset / lpController->ulPitch;
                ulPixel = sQueryGCO.ulDisplayOffset - (ulSpan * lpController->ulPitch);
   
                lpControllerConfig->lViewPositionX = ulPixel;
                lpControllerConfig->lViewPositionY = ulSpan;
              }
            }

            lpController->rtView.left   = lpControllerConfig->lViewPositionX;
            lpController->rtView.top    = lpControllerConfig->lViewPositionY;
            lpController->rtView.right  = lpControllerConfig->lViewResolutionCx + 
                                          lpControllerConfig->lViewPositionX;
            lpController->rtView.bottom = lpControllerConfig->lViewResolutionCy + 
                                          lpControllerConfig->lViewPositionY;

          } else
          {
            // controller is not active, so these settings have no meaning,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜精品网| 欧美中文字幕一区二区三区亚洲| 日韩和欧美的一区| 一区二区三区丝袜| 亚洲激情一二三区| 一区二区三区精品在线| 一个色综合网站| 亚洲午夜在线视频| 天天综合色天天综合色h| 三级影片在线观看欧美日韩一区二区| 亚洲国产日韩精品| 日韩精品一二三区| 免费观看一级欧美片| 久久精品国产精品亚洲综合| 九九在线精品视频| 国产成人精品午夜视频免费| 成人精品免费看| 91色乱码一区二区三区| 在线观看免费亚洲| 欧美日韩成人综合| 日韩一卡二卡三卡国产欧美| 欧美大胆一级视频| 久久久一区二区三区| 国产精品家庭影院| 亚洲一二三区不卡| 另类小说一区二区三区| 国产剧情一区二区| 色综合久久久久久久| 91国产丝袜在线播放| 555夜色666亚洲国产免| 精品福利一区二区三区免费视频| www国产精品av| 国产精品盗摄一区二区三区| 亚洲在线视频免费观看| 日韩一区精品视频| 国产成人激情av| 一本到不卡精品视频在线观看| 欧美亚日韩国产aⅴ精品中极品| 69av一区二区三区| 日本一二三不卡| 亚洲v中文字幕| 狠狠色丁香九九婷婷综合五月 | 91蝌蚪porny九色| 欧美日韩国产小视频在线观看| 欧美精品日韩精品| 中文字幕不卡三区| 亚洲成人资源在线| 国产精品一区二区三区99| 色婷婷一区二区| 日韩欧美一级精品久久| 日韩美女啊v在线免费观看| 日韩国产成人精品| eeuss鲁一区二区三区| 56国语精品自产拍在线观看| 国产精品乱码人人做人人爱| 婷婷久久综合九色综合伊人色| 高清不卡一二三区| 欧美老女人第四色| 国产女人水真多18毛片18精品视频| 亚洲乱码国产乱码精品精的特点 | 国产精品高潮久久久久无| 午夜在线电影亚洲一区| 福利电影一区二区三区| 欧美丰满一区二区免费视频 | 国产99久久久国产精品免费看| 欧美丝袜丝交足nylons| 国产精品乱码一区二区三区软件| 日韩国产一二三区| 在线看一区二区| 国产精品色一区二区三区| 美女国产一区二区三区| 91免费版在线| 亚洲国产精品国自产拍av| 免费人成精品欧美精品 | 国产精品视频在线看| 日本欧美久久久久免费播放网| 91色.com| 中文字幕在线观看不卡| 国产精品综合久久| 欧美一区二区视频免费观看| 亚洲一线二线三线久久久| 成人av电影在线观看| 久久只精品国产| 美日韩黄色大片| 欧美丝袜自拍制服另类| 亚洲欧美自拍偷拍色图| 国产成人免费xxxxxxxx| 精品久久国产老人久久综合| 午夜日韩在线电影| 欧美色国产精品| 亚洲国产精品嫩草影院| 在线免费观看日韩欧美| 亚洲欧美精品午睡沙发| 99精品偷自拍| 中文字幕欧美区| 国产精华液一区二区三区| 久久视频一区二区| 精品综合久久久久久8888| 欧美另类z0zxhd电影| 性做久久久久久免费观看 | 久久精品视频一区二区三区| 久久成人麻豆午夜电影| 精品免费99久久| 国内偷窥港台综合视频在线播放| 日韩精品专区在线| 国产一区二区美女| 国产欧美综合在线观看第十页| 国产一二精品视频| 国产视频一区二区在线| 丁香激情综合五月| 一区二区中文字幕在线| 色综合久久中文综合久久牛| 一区二区三区在线观看网站| 欧美日韩一区二区不卡| 日韩高清欧美激情| 日韩欧美国产一区在线观看| 麻豆免费精品视频| 久久亚洲综合色| 不卡一区二区三区四区| 亚洲精品久久久久久国产精华液| 在线视频你懂得一区| 亚洲香肠在线观看| 日韩免费电影网站| 国产精品资源站在线| 亚洲欧美在线视频| 欧美日韩国产在线播放网站| 久久精品99久久久| 国产精品美女久久久久久久| 91久久精品日日躁夜夜躁欧美| 亚洲一二三级电影| 精品国产髙清在线看国产毛片| 国产精品白丝av| 亚洲乱码国产乱码精品精98午夜| 欧美精选在线播放| 国产精品资源网站| 极品少妇一区二区三区精品视频| 国产亚洲欧洲997久久综合 | 欧美日韩免费一区二区三区视频 | 91高清视频在线| 蜜臀av一区二区在线免费观看| 久久久精品中文字幕麻豆发布| 91免费精品国自产拍在线不卡| 香蕉加勒比综合久久| 国产三级精品视频| 欧美亚洲尤物久久| 国产一区二区三区精品视频| 亚洲人成网站色在线观看| 欧美一区二区三区日韩| 白白色 亚洲乱淫| 男女男精品网站| 中文字幕一区二区三区蜜月 | 国产拍欧美日韩视频二区| 欧美色涩在线第一页| 国产综合色产在线精品| 亚洲一区中文日韩| 久久久久成人黄色影片| 欧美巨大另类极品videosbest | 国产精品久久久久久久久快鸭 | 久久先锋资源网| 在线视频国内自拍亚洲视频| 国产自产高清不卡| 亚洲3atv精品一区二区三区| 中文字幕欧美三区| 日韩欧美视频一区| 欧美在线色视频| 成人免费黄色在线| 久久国产人妖系列| 亚洲一区二区五区| 国产精品日产欧美久久久久| 欧美久久久久中文字幕| 91丨porny丨中文| 国产盗摄视频一区二区三区| 午夜久久久久久| 亚洲免费三区一区二区| 久久夜色精品国产噜噜av| 91精品国产综合久久国产大片 | 国产视频不卡一区| 日韩欧美一级二级三级| 欧美日韩国产综合一区二区三区 | 国产日韩欧美精品在线| 欧美一区二区久久久| 在线观看av不卡| www.亚洲激情.com| 国产乱码精品一区二区三区av| 亚洲h动漫在线| 亚洲一二三区视频在线观看| 亚洲欧美综合网| 国产精品久久久久久户外露出| 精品福利一区二区三区| 日韩一卡二卡三卡| 欧美一区午夜视频在线观看| 欧美亚男人的天堂| 在线看不卡av| 日本乱码高清不卡字幕| 色婷婷国产精品久久包臀| 91污在线观看| 97久久精品人人澡人人爽| 国产成人在线视频网址| 国产精品一区二区久久不卡 | 精品日韩一区二区|