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

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

?? dalgco.c

?? 此代碼為WCE5.0下顯示器的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
          // DPMS state is applied to that display
          vSetDisplayPowerState(lpHDE,
                                (LPDEVGDO) &lpHDE->aDisplays[j],
                                ulState);
        }
      }
    }
  }

  // store the current DPMS state of the system
  lpHDE->ulPowerState = ulState;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALSetDPMS - Exit"));
}


/******************************Public*Routine******************************\
*
* VOID DALSetPowerState(HDAL hDAL, ULONG ulState)
*
* The function to will call GCO and GDO power state functions.
*
*
\**************************************************************************/

VOID DALSetPowerState(HDAL hDAL, ULONG ulState)
{
  LPHW_DAL_EXTENSION lpHDE;
  ULONG              i;
  LPDEVGCO           lpController;
  LPDEVGDO           lpDisplay;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALSetPowerState - Entry"));
  DALASSERT((hDAL != NULL), "DAL handle 'hDAL' is NULL!");

  lpHDE = (LPHW_DAL_EXTENSION)hDAL;

  if (ulState == ACPI_CM_POWERSTATE_D0)
  {
    for (i = 0; i < lpHDE->ulControllersCount; i++)
    {
      lpController = (LPDEVGCO)&lpHDE->aControllers[i];

      if (lpController->lpHWED->ulFunctionHooks2 & GCO_HOOK2_SETPOWERSTATE)
      {
        (*lpController->lpHWED->pfnGCOSetPowerState)(lpController->hGCO,
                                                     lpController->ulController,
                                                     ulState);
      }
    }
  }
  for (i = 0; i < lpHDE->ulDisplaysCount; i++)
  {
    lpDisplay = (LPDEVGDO) &lpHDE->aDisplays[i];

    if (lpDisplay->lpHWED->ulFunctionHooks2 & GDO_HOOK2_SETPOWERSTATE)
    {
      (*lpDisplay->lpHWED->pfnGDOSetPowerState)(lpDisplay->hGDO, ulState);
    }
  }
  if (ulState != ACPI_CM_POWERSTATE_D0)
  {
    for (i = 0; i < lpHDE->ulControllersCount; i++)
    {
      lpController = (LPDEVGCO)&lpHDE->aControllers[i];

      if (lpController->lpHWED->ulFunctionHooks2 & GCO_HOOK2_SETPOWERSTATE)
      {
        (*lpController->lpHWED->pfnGCOSetPowerState)(lpController->hGCO,
                                                     lpController->ulController,
                                                     ulState);
      }
    }
  }
  DALDEBUG((DALDBG_ENTRY_EXIT, "DALSetPowerState - Exit"));
}

/******************************Public*Routine******************************\
*
* VOID DALGetDisplaysPhysicallyConnected(HDAL hDAL, ULONG ulDriverID)
*
* Retrieves all display types physically connected to the adapter
* (but not necessarily active).
*
\**************************************************************************/

ULONG
DALGetDisplaysPhysicallyConnected(
  HDAL hDAL,
  ULONG ulDriverID
  )
{
  LPHW_DAL_EXTENSION lpHDE;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALGetDisplaysPhysicallyConnected - Entry"));
  DALASSERT((hDAL != NULL), "DAL handle 'hDAL' is NULL!");

  // grab the structure for the DAL out of the DDL's handle to it
  lpHDE = (LPHW_DAL_EXTENSION) hDAL;

  // Assuming this function returns the displays connected to adapter 
  // based on what DAL saved upon last detection. If a new detection
  // is to be done add following line :
  // lpHDE->ulConnectedDisplays = ulDetectConnectedDisplays(lpHDE);

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALGetDisplaysPhysicallyConnected - Exit"));

  // returns a vector of connected displays to the adapter
  return (lpHDE->ulConnectedDisplays);

} // DALGetDisplaysPhysicallyConnected()


/******************************Public*Routine******************************\
*
* VOID DALGetDisplaysActive(HDAL hDAL, ULONG ulDriverID)
*
* programs the display power management state to the entire display
* subsystem in an atomic operation
*
* Note: DAL does nothing for controllers which are not active
*
\**************************************************************************/

ULONG
DALGetDisplaysActive(
  HDAL  hDAL,
  ULONG ulDriverID
  )
{
  LPHW_DAL_EXTENSION lpHDE;
  //LPDEVGDO           lpDisplay;
  LPDEVGCO           lpController;
  ULONG              ulControllers;
  ULONG              ulDisplaysActive;
  ULONG              i;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALGetDisplaysActive - Entry"));
  DALASSERT((hDAL != NULL), "DAL handle 'hDAL' is NULL!");

  // grab the structure for the DAL out of the DDL's handle to it
  lpHDE = (LPHW_DAL_EXTENSION) hDAL;

  // Initialize the display vector to zero
  ulDisplaysActive = 0;

  // Check which controllers belong to this driver.
  ulControllers = lpHDE->aControllerMap[ulDriverID];  

  // Go through all the controllers and see whice displays are
  // active on the controller belonging to this driver.
  for (i = 0; i < lpHDE->ulControllersCount; i++)
  {
    if (VECTORFROMINDEX(i) & ulControllers)
    {
      // Get the displays active on this controller
      lpController = (LPDEVGCO) &lpHDE->aControllers[i];

      ulDisplaysActive |= lpController->ulDisplays;
    }
  }

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALGetDisplaysActive - Exit"));

  // returns a vector of active displays attached to this driver
  return ulDisplaysActive;

} // DALGetDisplaysActive()


/******************************Public*Routine******************************\
*
* ULONG DALGetGammaMode()
*
* function returns the current gamma mode for the driver
*
* Notes: 
*        
*
\**************************************************************************/

ULONG DALGetGammaMode(
HDAL hDAL,
ULONG ulDriverID)
{
  LPHW_DAL_EXTENSION  lpHDE;
  ULONG               ulGammaMode;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALGetGammaMode - Entry"));
  DALASSERT((hDAL != NULL), "DAL handle 'hDAL' is NULL!");

  // grab the structure for the DAL out of the DDL's handle to it
  lpHDE = (LPHW_DAL_EXTENSION)hDAL;

  if (lpHDE->aDriverData[ulDriverID].ulFlags & DRIVERDATA_USEGAMEGAMMA)
  {
    ulGammaMode = GAMMAMODE_FULLSCREENGAMING;
  } else
  {
    ulGammaMode = GAMMAMODE_DESKTOP;
  }


  DALDEBUG((DALDBG_ENTRY_EXIT, "DALGetGammaMode - Exit"));
  return(ulGammaMode);
}


/******************************Public*Routine******************************\
*
* VOID DALSetGammaMode()
*
* function sets the state of the gamma correction to be used, and reapplies
* the appropriate gamma into the controller object.
*
* Notes: DALSetGammaMode is intended to switch from desktop gamma to 
*        3D gamma in fullscreen gaming modes.  This function can be 
*        further extended to "tweak" gamma for video as well.
*
\**************************************************************************/

VOID DALSetGammaMode(
HDAL hDAL,
ULONG ulDriverID,
ULONG ulGammaMode)
{
  LPHW_DAL_EXTENSION  lpHDE;
  LPDRIVERDATA        lpDriverData;
  ULONG               i;
  ULONG               ulGamma;
  ULONG               ulSize;
  ULONG               ulRed;
  ULONG               ulGreen;
  ULONG               ulBlue;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALSetGammaMode - Entry"));
  DALASSERT((hDAL != NULL), "DAL handle 'hDAL' is NULL!");

  // grab the structure for the DAL out of the DDL's handle to it
  lpHDE = (LPHW_DAL_EXTENSION)hDAL;
  lpDriverData = (LPDRIVERDATA) &lpHDE->aDriverData[ulDriverID];

  if (ulGammaMode == GAMMAMODE_FULLSCREENGAMING)
  {
    // game gamma is programmed using linear scaling factors from a
    // registry key if it exists, otherwise it uses a hardcoded default.

    // initially Poynton's gamma exponential function was used as defined
    // in "A Technical Introduction to Digital Video", but the display
    // was too washed out.  The function used is signal = intensity ^ (1/y)
    // where a gamma value of (1 / 0.75) was used for both the green and 
    // blue ramps, and (1 / 0.70) was used for the red gamma ramp.

    lpDriverData->ulFlags |= DRIVERDATA_USEGAMEGAMMA;

    ulSize = sizeof(ULONG);

    if (!(DDLGetRegistryParameters(lpHDE->hDDL,
                                   (LPUCHAR) DALREGKEY_GAMEGAMMASCALE,
                                   (LPVOID) &ulGamma,
                                   (LPULONG) &ulSize)) && 
        (ulSize == (sizeof(ULONG))))
    {
      // game gamma scale is not in the registry, so use a 130/120/120
      // scaling ramp

      ulGamma = 0x00827878;
    }

    // the DAL restores the game gamma correction from it's default
    // whenever game gamma is selected.  This ensures the same initial
    // gaming visual quality, if gamma was adjusted in a previous gaming
    // session

    ulRed = ((ulGamma & 0x00FF0000) / 0x64);
    ulGreen = (((ulGamma & 0x0000FF00) << 8) / 0x64);
    ulBlue = (((ulGamma & 0x000000FF) << 16) / 0x64);

    for (i = 0; i < 256; i++)
    {
      // this function really needs a floating point calculation, but a
      // fixed point calculation will have to suffice.  The calculations
      // are perfomed in 16.16 fixed point format.

      ulGamma = ((i * ulRed) >> 8);
      lpDriverData->aGameGamma16[i].usRed = (USHORT)(ulGamma < 0xFFFF ? ulGamma : 0xFFFF);

      ulGamma = ((i * ulGreen) >> 8);
      lpDriverData->aGameGamma16[i].usGreen = (USHORT)(ulGamma < 0xFFFF ? ulGamma : 0xFFFF);

      ulGamma = ((i * ulBlue) >> 8);
      lpDriverData->aGameGamma16[i].usBlue = (USHORT)(ulGamma < 0xFFFF ? ulGamma : 0xFFFF);
    }

    DALSetGamma16Correction(hDAL, ulDriverID, 
                            (LPDEVCLUT16)lpDriverData->aGameGamma16);

  } else if (ulGammaMode == GAMMAMODE_DESKTOP)
  {
    lpDriverData->ulFlags &= ~DRIVERDATA_USEGAMEGAMMA;

    DALSetGamma16Correction(hDAL, ulDriverID, 
                            (LPDEVCLUT16)lpDriverData->aGamma16);
                          
  } else
  {
    DALDEBUG((DALDBG_DETAIL, "DALGetSammaMode - bogus gamma mode!"));
  }

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALSetGammaMode - Exit"));
}


/******************************Public*Routine******************************\
*
* VOID DALSetGammaCorrection
*
* Programs the gamma correction of the specified controllers.
*
* Note: DAL does nothing if the controller is inactive.  If multiple
*       controllers are specified in the same call, both need be working
*       cooperatively from the same desktop, and hence will require the
*       same gamma correction values.
*
*       Gamma correction is normally programmed via ATI's property pages,
*       but Microsoft has their own API into the driver for Gamma Correction
*       via ExtEscape .... hence DAL has to support a call to process Gamma.
*
\**************************************************************************/

VOID DALSetGammaCorrection(
HDAL hDAL,
ULONG ulDriverID,
LPDEVCLUT lpaGamma)
{
  LPHW_DAL_EXTENSION  lpHDE;
  LPDEVGCO            lpController;
  LPDRIVERDATA        lpDriverData;
  LPDEVCLUT16         lpaGamma16;
  ULONG               ulControllers;
  ULONG               i;

  DALDEBUG((DALDBG_ENTRY_EXIT, "DALSetGammaCorrection - Entry"));
  DALASSERT((hDAL != NULL), "DAL handle 'hDAL' is NULL!");

  // grab the structure for the DAL out of the DDL's handle to it
  lpHDE = (LPHW_DAL_EXTENSION)hDAL;

  // save the gamma correction in DAL DRIVERDATA structure.
  lpDriverData = (LPDRIVERDATA) &lpHDE->aDriverData[ulDriverID];

  if (lpHDE->aDriverData[ulDriverID].ulFlags & DRIVERDATA_USEGAMEGAMMA)
  {
    // DAL does not save out the game gamma when modified by a gaming
    // application because this will change from game to game, and the 
    // DAL should ensure each gaming session starts from the same 
    // default gamma

    lpaGamma16 = (LPDEVCLUT16)lpDriverData->aGameGamma16;
    vConvert8To16Gamma(lpaGamma, lpaGamma16);

  } else
  {
    // Set the Gamma Save flag, so that it would be flushed to the registry
    // Gamma will be saved only if adjusted via CWDDE interface
    //lpDriverData->ulFlags |= DRIVERDATA_SAVEGAMMA;

    lpaGamma16 = (LPDEVCLUT16)lpDriverData->aGamma16;
    vConvert8To16Gamma(lpaGamma, lpaGamma16);
  }

  ulControllers = lpHDE->aControllerMap[ulDriverID];
  i = 0;

  // loop through the specified controller programming gamma correction
  // if the controller is active.

  while((ulControllers != 0) && (i < lpHDE->ulControllersCount))
  {
    if (ulControllers & 1)
    {
      lpController = (LPDEVGCO)&lpHDE->aControllers[i];

      // if this controller was specified, test if it is active, before

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与z0zoxxxx视频| 亚洲国产美女搞黄色| 国产自产视频一区二区三区| 精品国产99国产精品| 久久丁香综合五月国产三级网站| 日韩欧美黄色影院| 国产精品一二三在| 日韩美女视频一区二区 | 一区在线播放视频| 91九色02白丝porn| 日本网站在线观看一区二区三区| 欧美不卡一区二区| av爱爱亚洲一区| 亚洲超丰满肉感bbw| 日韩精品自拍偷拍| av毛片久久久久**hd| 亚洲成人福利片| 久久这里只精品最新地址| 不卡av免费在线观看| 亚洲福利视频导航| 久久久久国产成人精品亚洲午夜| av亚洲精华国产精华| 日韩精品免费专区| 国产亚洲成av人在线观看导航| 99精品视频中文字幕| 日本午夜精品视频在线观看| 中日韩免费视频中文字幕| 色综合天天综合狠狠| 久久99最新地址| 日韩毛片精品高清免费| 日韩免费福利电影在线观看| 91视频免费播放| 日本免费在线视频不卡一不卡二| 国产精品三级av| 欧美精品成人一区二区三区四区| 国产精品99久久久久久久vr| 亚洲综合丁香婷婷六月香| 国产v综合v亚洲欧| 久久久精品免费免费| 欧美这里有精品| 国产69精品久久99不卡| 亚洲va欧美va国产va天堂影院| 中文字幕av在线一区二区三区| 欧美精品黑人性xxxx| 99re成人精品视频| 国内不卡的二区三区中文字幕 | 精品欧美一区二区久久| 色妞www精品视频| 国产精品77777竹菊影视小说| 亚洲高清久久久| ㊣最新国产の精品bt伙计久久| 精品国产区一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产成a人无v码亚洲福利| 五月综合激情日本mⅴ| 亚洲欧洲国产日韩| 国产亚洲精品7777| 精品国产123| 91麻豆精品久久久久蜜臀| 91老师国产黑色丝袜在线| 国产高清精品在线| 国产一区 二区 三区一级| 日本不卡的三区四区五区| 亚洲国产精品久久艾草纯爱| 亚洲免费在线看| 亚洲色图欧美激情| 最新日韩av在线| 亚洲日本青草视频在线怡红院| 亚洲国产高清在线| 国产精品午夜电影| 亚洲国产高清aⅴ视频| 国产欧美日韩麻豆91| 国产色一区二区| 国产日产欧产精品推荐色| 久久久蜜桃精品| 久久精品亚洲精品国产欧美kt∨| 欧美成人精品3d动漫h| 日韩美女一区二区三区四区| 欧美mv日韩mv国产网站| 欧美变态tickle挠乳网站| 日韩视频免费观看高清完整版在线观看 | 91麻豆国产在线观看| 不卡在线观看av| 91在线高清观看| 欧美曰成人黄网| 欧美日韩成人综合| 日韩欧美一级特黄在线播放| 日韩精品一区二区三区在线观看| 欧美一区二区成人6969| 日韩精品中文字幕一区 | 日本一区二区三区四区| 国产精品视频在线看| 亚洲欧美激情一区二区| 亚洲午夜精品在线| 日韩二区三区在线观看| 国产在线麻豆精品观看| 成人免费视频免费观看| 色婷婷综合在线| 69堂成人精品免费视频| 久久久一区二区三区| 午夜精品久久久久久久久久| 亚洲福利电影网| 另类成人小视频在线| 国产一区美女在线| 岛国一区二区三区| 在线精品亚洲一区二区不卡| 欧美一三区三区四区免费在线看| 欧美xxxx在线观看| 国产精品天美传媒| 亚洲高清免费观看高清完整版在线观看| 日韩国产精品久久久久久亚洲| 精品亚洲免费视频| 北岛玲一区二区三区四区| 欧美丝袜第三区| 久久蜜桃av一区二区天堂 | 久久亚洲一级片| 国产精品卡一卡二| 午夜不卡av在线| 高清国产午夜精品久久久久久| 色国产精品一区在线观看| 欧美成人性战久久| 亚洲男人天堂av网| 久久99国内精品| 在线亚洲精品福利网址导航| 日韩精品一区二区三区在线观看 | 夜夜亚洲天天久久| 国产在线精品一区二区三区不卡 | 国产蜜臀97一区二区三区| 亚洲高清视频中文字幕| 国产99精品视频| 欧美一区二区三区视频| 亚洲人成网站精品片在线观看| 精品亚洲porn| 欧美日韩一区二区在线观看视频 | 亚洲素人一区二区| 狠狠色狠狠色合久久伊人| 欧美日韩午夜在线| 国产女同性恋一区二区| 美女免费视频一区二区| 欧美日韩一区在线观看| 亚洲日穴在线视频| 国产a级毛片一区| 日韩免费一区二区| 亚洲成av人片一区二区| 99精品黄色片免费大全| 久久久久九九视频| 青青草成人在线观看| 在线观看欧美精品| 亚洲欧美在线观看| 国产91在线观看丝袜| 精品国免费一区二区三区| 日本人妖一区二区| 在线不卡中文字幕播放| 亚洲自拍偷拍综合| 在线观看日韩国产| 一区二区三区免费网站| a4yy欧美一区二区三区| 国产精品系列在线| 处破女av一区二区| 国产色产综合色产在线视频| 国模娜娜一区二区三区| 精品国产一二三区| 国模套图日韩精品一区二区 | 福利一区二区在线观看| 久久久久久9999| 国产成人精品亚洲午夜麻豆| 午夜在线电影亚洲一区| 亚洲视频一二三区| 国产成人在线视频网址| 精品奇米国产一区二区三区| 久久99久久久久久久久久久| 日韩欧美在线影院| 国内国产精品久久| 国产欧美一区视频| 国产成人在线观看| 国产精品久久久久永久免费观看| 波多野洁衣一区| 亚洲欧洲国产日韩| 欧美性猛片aaaaaaa做受| 午夜影院久久久| 91激情在线视频| 午夜久久福利影院| 日韩精品中午字幕| 国产成人av电影在线| 国产精品国产三级国产专播品爱网| av在线不卡电影| 亚洲日本va在线观看| 欧美三级视频在线播放| 日本亚洲视频在线| 精品久久免费看| 成人爽a毛片一区二区免费| 亚洲婷婷综合色高清在线| 欧美亚洲自拍偷拍| 美国av一区二区| 国产日产亚洲精品系列| 在线观看免费亚洲| 精品一区二区久久| 亚洲欧美日韩系列| 欧美日韩国产高清一区二区| 国内偷窥港台综合视频在线播放|