www.pudn.com > DualDisplay.rar > MainFrm.cpp
/******************************************************************************
** Copyright (C) 2004. Intel Corporation. All Rights Reserved.
**
** The source code contained or described herein and all documents related to the
** source code ("Material") are owned by Intel Corporation or its suppliers or
** licensors. Title to the Material remains with Intel Corporation or its suppliers
** and licensors. The Material contains trade secrets and proprietary and
** confidential information of Intel or its suppliers and licensors. The Material
** is protected by worldwide copyright and trade secret laws and treaty provisions.
** No part of the Material may be used, copied, reproduced, modified, published,
** uploaded, posted, transmitted, distributed, or disclosed in any way without
** Intel’s prior express written permission.
**
** No license under any patent, copyright, trade secret or other intellectual
** property right is granted to or conferred upon you by disclosure or delivery
** of the Materials, either expressly, by implication, inducement, estoppel or
** otherwise. Any license under such intellectual property rights must be express
** and approved by Intel in writing.
******************************************************************************/
// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "DispDemo1.h"
#include "MainFrm.h"
#include "DemoGDI.h"
#include "DemoCustom.h"
#include "DemoVideo.h"
#include "DispDemo1Doc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// Array tbSTDButton contains relevant buttons of bitmap IDB_STD_SMALL_COLOR
static TBBUTTON tbButtons[] = {
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0, 0, 0},
{0, ID_FILE_NEW, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{1, ID_FILE_OPEN, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{2, ID_FILE_SAVE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0, 0, -1},
{3, ID_EDIT_CUT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{4, ID_EDIT_COPY, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{5, ID_EDIT_PASTE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0, 0, -1},
{6, ID_APP_ABOUT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
{0, 0, TBSTATE_ENABLED, TBSTYLE_SEP, 0, 0, 0, 0}
};
const int nNumButtons = sizeof(tbButtons)/sizeof(TBBUTTON);
const int nNumImages = 7;
const DWORD dwAdornmentFlags = 0; // exit button
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_DEMO_CUSTOM, OnDemoCustom)
ON_COMMAND(ID_CFG_QVGA, OnCfgQVGA)
ON_COMMAND(ID_CFG_VGA, OnCfgVGA)
ON_COMMAND(ID_CFG_SVGA, OnCfgSVGA)
ON_COMMAND(ID_CFG_SXGA, OnCfgSXGA)
ON_COMMAND(ID_CFG_XGA, OnCfgXGA)
ON_COMMAND(IDM_DEMO_GDI, OnDemoGdi)
ON_COMMAND(IDM_DEMO_VIDEO, OnDemoVideo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
m_wExternalWidth = 1024;
m_wExternalHeight = 768;
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// Add the buttons and adornments to the CommandBar.
if (/*!InsertButtons(tbButtons, nNumButtons, IDR_MAINFRAME, nNumImages) ||*/
!AddAdornments(dwAdornmentFlags))
{
TRACE0("Failed to add toolbar buttons\n");
return -1;
}
return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnCfgQVGA()
{
SetExternalRes(320, 240);
}
void CMainFrame::OnCfgVGA()
{
SetExternalRes(640, 480);
}
void CMainFrame::OnCfgSVGA()
{
SetExternalRes(800, 600);
}
void CMainFrame::OnCfgXGA()
{
SetExternalRes(1024, 768);
}
void CMainFrame::OnCfgSXGA()
{
SetExternalRes(1280, 1024);
}
void CMainFrame::SetExternalRes(WORD wWidth, WORD wHeight)
{
m_wExternalWidth = wWidth;
m_wExternalHeight = wHeight;
((CDispDemo1Doc*)GetActiveDocument())->m_cs1.Format(L"%d x %d selected.", wWidth, wHeight) ;
((CDispDemo1Doc*)GetActiveDocument())->m_cs2 = L"Now select from the Demo menu ";
GetActiveDocument()->UpdateAllViews(NULL);
}
void CMainFrame::OnDemoGdi()
{
CDemoGDI demo(m_wExternalWidth, m_wExternalHeight);
}
void CMainFrame::OnDemoCustom()
{
CDemoCustom demo(m_wExternalWidth, m_wExternalHeight);
}
void CMainFrame::OnDemoVideo()
{
CDemoVideo demo(m_wExternalWidth, m_wExternalHeight);
}