游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3833|回复: 4

GetGraphics()->SwitchMode();

[复制链接]

32

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2005-4-11 16:18:00 | 显示全部楼层 |阅读模式
想学习这个函数的代码?????????




1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20356
QQ
发表于 2005-4-11 16:23:00 | 显示全部楼层

Re:GetGraphics()->SwitchMode();

        HRESULT hr;

        m_bIsSwitching = true;

        Destroy();

        if( m_bWindowed )                        // 窗口->全屏
        {

                // 修改窗口风格
                SetWindowLong( m_hWnd, GWL_STYLE, WS_POPUP );
                ShowWindow( m_hWnd, SW_SHOW );

                CreateDirectDrawFullScreen( m_hWnd, m_nScreenWidth, m_nScreenHeight );

                // get hardware status
                m_pDD->GetCaps( &m_ddcaps, NULL );

                // 检测是否支持Gamma
                if( m_ddcaps.dwCaps2 & DDCAPS2_PRIMARYGAMMA )
                {
                        // 初始化Gamma
                        m_bIsSupportGamma = true;
                        if( FAILED( hr = m_pFrontSurface->GetSurface()->QueryInterface( IID_IDirectDrawGammaControl,(void **)&m_pGamma ) ) )
                        {
                                Failed( "QueryInterface() failed, error code = 0x%x", hr );
                                return E_FAIL;
                        }
                        m_pGamma->GetGammaRamp( 0, &m_DDGammaOld );
                        m_pGamma->GetGammaRamp( 0, &m_DDGammaRamp );
                }

                m_bWindowed = !m_bWindowed;
        }

        else                                                // 全屏->窗口
        {
                CreateDirectDrawWindow( m_hWnd, m_nScreenWidth, m_nScreenHeight, m_bIsChangeStyle );

                m_bWindowed = !m_bWindowed;

                UpdateBounds();
                Restore();
        }

32

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2005-4-12 09:02:00 | 显示全部楼层

Re:GetGraphics()->SwitchMode();

xie xie

32

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2005-4-12 09:06:00 | 显示全部楼层

Re:GetGraphics()->SwitchMode();

CreateDirectDrawFullScreen()?????????????????
CreateDirectDrawWindow()????????????????????

找不到??????????????
位定义

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20356
QQ
发表于 2005-4-16 11:17:00 | 显示全部楼层

Re:GetGraphics()->SwitchMode();

CreateDirectDrawFullScreen()
CreateDirectDrawWindow()
这两支函式是hoho用来创建窗口/全屏模式的调用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-5-13 21:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表