CDx2DView Class Reference

#include <Dx2DView.h>

Inheritance diagram for CDx2DView:
Inheritance graph
[legend]
Collaboration diagram for CDx2DView:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void ExecRender ()
virtual void InitObject (void)
virtual void OnInitialUpdate ()

Protected Member Functions

 CDx2DView ()
virtual ~CDx2DView ()
virtual void AssertValid () const
virtual void Dump (CDumpContext &dc) const

Detailed Description

Definition at line 29 of file Dx2DView.h.


Constructor & Destructor Documentation

CDx2DView (  )  [protected]

Definition at line 26 of file Dx2DView.cpp.

00027 {
00028     cnstXYRate = true;
00029 }

~CDx2DView (  )  [protected, virtual]

Definition at line 33 of file Dx2DView.cpp.

00034 {
00035 }


Member Function Documentation

void AssertValid (  )  const [protected, virtual]

Reimplemented from CExView.

Definition at line 64 of file Dx2DView.cpp.

00065 {
00066     CDxBaseView::AssertValid();
00067 }

void Dump ( CDumpContext &  dc  )  const [protected, virtual]

Reimplemented from CExView.

Definition at line 71 of file Dx2DView.cpp.

00072 {
00073     CDxBaseView::Dump(dc);
00074 }

void ExecRender ( void   )  [virtual]

Reimplemented from CDxBaseView.

Definition at line 130 of file Dx2DView.cpp.

References CExView::clientRate, CDxBaseView::d3dParam, IDS_STR_FAIL_CLR_WND, IDS_STR_FAIL_RESTR_DX9DEV, IDS_STR_FAIL_TRNS_BAKBUF, IDS_STR_IMP_PROCESS, IDS_STR_UNSPT_DATA, CDxBaseView::lpBackBuffer, CDxBaseView::lpD3DDevice, CDxBaseView::lpSurface, CExView::pDoc, CExView::pFrame, CExDocument::preTitle, CExDocument::pstTitle, jbxwl::ResetDx9Device(), CExView::SetTitle(), CExDocument::Title, and CExView::Title.

00131 {
00132     //
00133     Title = pDoc->preTitle + pDoc->Title + pDoc->pstTitle;
00134     if (clientRate!=1.0) {
00135         CString szprcnt;
00136         szprcnt.Format(_T("  (%d%%)"), (int)(clientRate*100+0.5));
00137         Title = Title + szprcnt;
00138     }
00139     CString mesg1, mesg2;
00140     mesg1.LoadString(IDS_STR_UNSPT_DATA);
00141     mesg2.LoadString(IDS_STR_IMP_PROCESS);
00142     Title = Title + _T("  ") + mesg1 + _T(" [") + mesg2 + _T("]");
00143     this->SetTitle(Title);
00144 
00145     HRESULT  hr;
00146 
00147     hr = lpD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,255), 1.0f, 0);
00148     if (FAILED(hr)) {
00149         CString mesg;
00150         mesg.LoadString(IDS_STR_FAIL_CLR_WND);
00151         MessageBox(_T("CDx2DView::ExecRender():\n\n") + mesg); 
00152         return;
00153     }
00154 
00155     hr = lpD3DDevice->StretchRect(lpSurface, NULL, lpBackBuffer, NULL, D3DTEXF_NONE);
00156     if (FAILED(hr)) {
00157         CString mesg;
00158         mesg.LoadString(IDS_STR_FAIL_TRNS_BAKBUF);
00159         MessageBox(_T("CDx2DView::ExecRender():\n\n") + mesg); 
00160         return;
00161     }
00162 
00163     hr = lpD3DDevice->Present(NULL, NULL, NULL, NULL);
00164     if (FAILED(hr)) {
00165         hr = ResetDx9Device(lpD3DDevice, &d3dParam, this);
00166         if (FAILED(hr)) {
00167             CString mesg;
00168             mesg.LoadString(IDS_STR_FAIL_RESTR_DX9DEV);
00169             MessageBox(_T("CDx2DView::ExecRender():\n\n") + mesg);
00170             pFrame->SendMessage(WM_CLOSE);
00171             //GetParentFrame()->DestroyWindow();
00172         }
00173         else ExecRender();
00174     }
00175 }

Here is the call graph for this function:

void InitObject ( void   )  [virtual]

Reimplemented from CDxBaseView.

Definition at line 179 of file Dx2DView.cpp.

References CExView::cmnHead, jbxwl::Dx9GetBackBuffer(), jbxwl::Dx9SurfaceFromMemory(), CExView::hasViewData, IDS_STR_FAIL_REINIT_OBJ, CDxBaseView::lpBackBuffer, CDxBaseView::lpD3DDevice, and CDxBaseView::lpSurface.

00180 {
00181     Dx9GetBackBuffer(lpD3DDevice, &lpBackBuffer);
00182     hasViewData = Dx9SurfaceFromMemory(lpD3DDevice, &lpSurface, cmnHead);
00183     if (!hasViewData) {
00184         CString mesg;
00185         mesg.LoadString(IDS_STR_FAIL_REINIT_OBJ);
00186         MessageBox(_T("CDx2DView::InitObject():\n\n") + mesg); 
00187         return;
00188     }
00189 }

Here is the call graph for this function:

void OnInitialUpdate ( void   )  [virtual]

Reimplemented from CDxBaseView.

Definition at line 86 of file Dx2DView.cpp.

References CDxBaseView::bufferSize, CExDocument::cmnHead, CExView::cmnHead, CExFrame::doneErrorMessage, jbxwl::Dx9GetBackBuffer(), jbxwl::Dx9SurfaceFromMemory(), CExView::hasViewData, IDS_STR_FAIL_CRT_BAKBUF, IDS_STR_FAIL_GET_DX9DEV, IDS_STR_FAIL_TRNS_SURFACE, CDxBaseView::InitDevice(), CDxBaseView::lpBackBuffer, CDxBaseView::lpD3DDevice, CDxBaseView::lpSurface, CExView::origXSize, CExView::origYSize, CExView::pDoc, CExView::pFrame, CExView::SetWindowSize(), and CExView::sizeXYRate.

00087 {
00088     cmnHead = pDoc->cmnHead;
00089     if (isNull(cmnHead.grptr)) return;
00090 
00091     origXSize  = cmnHead.xsize;
00092     origYSize  = cmnHead.ysize;
00093     sizeXYRate = (double)cmnHead.ysize/(double)cmnHead.xsize;
00094 
00095     BOOL rslt = InitDevice(cmnHead.xsize, cmnHead.ysize);
00096     if (!rslt) {
00097         CString func, mesg;
00098         mesg.LoadString(IDS_STR_FAIL_GET_DX9DEV);
00099         MessageBox(_T("CDx2DView::OnInitialUpdate():\n\n") + mesg);
00100         pFrame->doneErrorMessage = TRUE;
00101         return;
00102     }
00103 
00104     // グラフィックデータ
00105     bufferSize = Dx9GetBackBuffer(lpD3DDevice, &lpBackBuffer);
00106     if (bufferSize.x<0) {
00107         CString mesg;
00108         mesg.LoadString(IDS_STR_FAIL_CRT_BAKBUF);
00109         MessageBox(_T("CDx2DView::OnInitialUpdate():\n\n") + mesg);
00110         pFrame->doneErrorMessage = TRUE;
00111         return;
00112     }
00113 
00114     // サーフェイスを作成して表示データを読み込む
00115     hasViewData = Dx9SurfaceFromMemory(lpD3DDevice, &lpSurface, cmnHead); 
00116     if (!hasViewData) {
00117         CString mesg;
00118         mesg.LoadString(IDS_STR_FAIL_TRNS_SURFACE);
00119         MessageBox(_T("CDx2DView::OnInitialUpdate():\n\n") + mesg); 
00120         pFrame->doneErrorMessage = TRUE;
00121         return;
00122     }
00123 
00124     SetWindowSize(origXSize, origYSize);
00125     return;
00126 }

Here is the call graph for this function:


The documentation for this class was generated from the following files:

Generated on 15 Nov 2023 for JunkBox_Win_Lib by  doxygen 1.6.1