void PageViewportControllerClientEfl::setContentsScale(float newScale, bool treatAsInitialValue) { if (treatAsInitialValue) setViewportPosition(FloatPoint(0, 0)); m_viewImpl->setScaleFactor(newScale); }
//-------------------------------------------------------------------------------- bool Renderer::InitDX(HWND hWnd) { IDirect3D9 * _pD3D; // Intento crear el objeto DX9 _pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (!_pD3D) return false; //guardo la resolución actual del escritorio D3DDISPLAYMODE displayMode; HRESULT hr = _pD3D->GetAdapterDisplayMode ( D3DADAPTER_DEFAULT, &displayMode ); if (hr!=D3D_OK) return false; // Fijo los valores a la estructura D3DPRESENT_PARAMETERS D3DPRESENT_PARAMETERS d3dPresentParameters; ZeroMemory( &d3dPresentParameters, sizeof(d3dPresentParameters)); d3dPresentParameters.BackBufferFormat = displayMode.Format; d3dPresentParameters.Windowed = true; d3dPresentParameters.BackBufferCount = 1; d3dPresentParameters.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dPresentParameters.hDeviceWindow = 0; d3dPresentParameters.Flags = 0; d3dPresentParameters.EnableAutoDepthStencil = TRUE; d3dPresentParameters.AutoDepthStencilFormat = D3DFMT_D24S8; d3dPresentParameters.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; d3dPresentParameters.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; //invocaremos al método CreateDevice hr = _pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dPresentParameters, &m_pkDevice ); if (hr!=D3D_OK) { hr = _pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dPresentParameters, &m_pkDevice ); } if (hr!=D3D_OK) return false; if (!m_pkDevice) return false; m_pkDevice->SetRenderState(D3DRS_LIGHTING, FALSE); //m_pkDevice->SetRenderState(D3DRS_ZENABLE, FALSE); m_pkDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); m_pkDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); m_pkDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); m_pkDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); m_pkDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE); m_pkDevice->SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL); //D3DXMatrixIdentity(&d3dmat); //D3DXMatrixTranslation(& d3dmat, 0, 0, 1.0f); //D3DXMatrixRotationZ(& d3dmat, 0); //hr = m_pkDevice->SetTransform(D3DTS_WORLD, &d3dmat); if (hr!=D3D_OK) return false; setViewportPosition(); D3DVIEWPORT9 kViewport; m_pkDevice->GetViewport(&kViewport); D3DXMatrixOrthoLH(&m_mProjectionMatrix, (float) kViewport.Width, (float) kViewport.Height, -25, 25); hr = m_pkDevice->SetTransform(D3DTS_PROJECTION, &m_mProjectionMatrix); if (hr!=D3D_OK) return false; // create the color buffer if(!m_pkVertexBuffer.Create(m_pkDevice, true)) return false; // create the texture buffer if(!m_kTextureBuffer.Create(m_pkDevice, true)) return false; return true; }