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

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

?? demodoc.cpp

?? Intel開發的IPP庫的應用例程
?? CPP
字號:
/*
//
//               INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright(c) 1999-2006 Intel Corporation. All Rights Reserved.
//
*/

// demoDoc.cpp : implementation of the CDemoDoc class
//
/////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "demo.h"

#include "DemoDoc.h"
#include "Vector.h"
#include "MainFrm.h"
#include "Process.h"
#include "Director.h"
#include "Histo.h"
#include "FileHistoDlg.h"
#include "DragDrop.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDemoDoc: base class for Demo MFC document

IMPLEMENT_DYNCREATE(CDemoDoc, CDocument)

BEGIN_MESSAGE_MAP(CDemoDoc, CDocument)
   //{{AFX_MSG_MAP(CDemoDoc)
   ON_COMMAND(ID_FILE_HISTO, OnFileHisto)
   ON_COMMAND(ID_FILE_SAVE_AS, OnFileSaveAs)
   ON_UPDATE_COMMAND_UI(ID_PROCESS, OnUpdateProcess)
   ON_COMMAND(ID_PROCESS, OnProcess)
   ON_UPDATE_COMMAND_UI(ID_MRU_FUNC1, OnUpdateMruFunc1)
   ON_COMMAND(ID_MRU_FUNC1, OnMruFunc1)
   ON_COMMAND(ID_MRU_FUNC2, OnMruFunc2)
   ON_COMMAND(ID_MRU_FUNC3, OnMruFunc3)
   ON_COMMAND(ID_MRU_FUNC4, OnMruFunc4)
   ON_COMMAND(ID_MRU_FUNC5, OnMruFunc5)
   ON_COMMAND(ID_MRU_FUNC6, OnMruFunc6)
   ON_COMMAND(ID_FILE_CLOSE, OnFileClose)
   //}}AFX_MSG_MAP
   // Enable default OLE container implementation
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDemoDoc construction/destruction

CDemoDoc::CDemoDoc() : CDocument()
{
   m_pProcess = NULL;
   m_MayBePicked = FALSE;
   m_IsPicked = FALSE;
}

CDemoDoc::~CDemoDoc()
{
   DEMO_APP->GetDirector()->DeleteProcess(m_pProcess);
}

/////////////////////////////////////////////////////////////////////////////
// CDemoDoc operations & attributes

//---------------------------------------------------------------------------
// GetView returns first document view
//---------------------------------------------------------------------------
CView* CDemoDoc::GetView() 
{
   POSITION pos = GetFirstViewPosition();
   return GetNextView(pos);
}

//---------------------------------------------------------------------------
// GetFrame returns first document frame window
//---------------------------------------------------------------------------
CMDIChildWnd* CDemoDoc::GetFrame() 
{
   return (CMDIChildWnd*)(GetView() ? GetView()->GetParentFrame() : NULL);
}

//---------------------------------------------------------------------------
// GetHisto returns pointer to document history
//---------------------------------------------------------------------------
CHisto* CDemoDoc::GetHisto()
{
   return GetVector()->GetHisto();
}

//---------------------------------------------------------------------------
// UpdateView updates sppecified document view or all views
//---------------------------------------------------------------------------
void CDemoDoc::UpdateView(CView* pSender)
{
   GetView()->InvalidateRect(NULL);
   UpdateAllViews(pSender);
}

//---------------------------------------------------------------------------
// Activate activates sppecified document frame window or the first one
//---------------------------------------------------------------------------
void CDemoDoc::Activate(CMDIChildWnd* pFrame)
{
   if (m_bEmbedded) {
      GetView()->OnInitialUpdate();
      m_bEmbedded = FALSE;
   }
   UpdateView();
   SetStatusString();

   if (!pFrame)
      pFrame = GetFrame();
   ASSERT(pFrame);
   pFrame->ShowWindow(SW_SHOW);
   GetFrame()->ActivateFrame();
   MAIN_FRAME->MDIActivate(pFrame);
}

//---------------------------------------------------------------------------
// CreateNewData creates new vector(image) with default parameters. It has
// empty content in CDemo class
//---------------------------------------------------------------------------
BOOL CDemoDoc::CreateNewData()
{
   return TRUE;
}

//---------------------------------------------------------------------------
// IsData returns weather vector data is allocated or not
//---------------------------------------------------------------------------
BOOL CDemoDoc::IsData() 
{
   return GetVector()->GetData() ? TRUE : FALSE;
}

//---------------------------------------------------------------------------
// CreateProcess creates class that will be process this document by proper 
// IPP functions
//---------------------------------------------------------------------------
void CDemoDoc::CreateProcess() 
{
   DEMO_APP->GetDirector()->DeleteProcess(m_pProcess);
   m_pProcess = DEMO_APP->GetDirector()->NewProcess(GetVector());
   MarkToPick();
}

//---------------------------------------------------------------------------
// ProcessVector processes attached vector by IPP function that will be 
// obtained by Process Dialog
//---------------------------------------------------------------------------
void CDemoDoc::ProcessVector() 
{
   DEMO_APP->GetDirector()->ProcessVector(this);
}

//---------------------------------------------------------------------------
// ProcessVector processes attached vector by IPP function that will be 
// got from MRU func list
//---------------------------------------------------------------------------
void CDemoDoc::ProcessVector(int mruIndex) 
{
   DEMO_APP->GetDirector()->ProcessVector(this,
      DEMO_APP->GetRecentFuncList()->GetFunc(mruIndex));
}

//---------------------------------------------------------------------------
// CanEnableProcess returns weather menu process item should be enabled
//---------------------------------------------------------------------------
BOOL CDemoDoc::CanEnableProcess()
{
   if (DEMO_APP->GetPickMode())
      return FALSE;
   else
      return m_pProcess->GetFuncCount();
}

//---------------------------------------------------------------------------
// CanUpdateMru returns weather MRU function menu should be updated
//---------------------------------------------------------------------------
BOOL CDemoDoc::CanUpdateMru() 
{
   return !DEMO_APP->GetPickMode();
}

//---------------------------------------------------------------------------
// MarkToPick marks weather document can be picked as wanted IPP finction parameter
//---------------------------------------------------------------------------
void CDemoDoc::MarkToPick()
{
   CRun* pRun = DEMO_APP->GetDirector()->GetRun();
   if (pRun)
      pRun->PickMarkDoc(this);
}

//---------------------------------------------------------------------------
// InitHisto initializes document history
//---------------------------------------------------------------------------
void CDemoDoc::InitHisto()
{ 
   GetVector()->GetHisto()->RemoveAll(); 
   GetVector()->GetHisto()->AddTail(GetTitle());
}

//---------------------------------------------------------------------------
// UpdateFrameTitle updates document title
//---------------------------------------------------------------------------
void CDemoDoc::UpdateFrameTitle(CString lastFunc)
{
   CString frameTitle = 
      GetTitle() + _T(" - ") +
      GetFrameType();
   if (!lastFunc.IsEmpty())
      m_LastFunc = lastFunc;
   if (!m_LastFunc.IsEmpty())
      frameTitle += _T(" - ") + m_LastFunc;

   m_FrameTitle = frameTitle;
   GetFrame()->SetWindowText(frameTitle);
   SetStatusString();
}

//---------------------------------------------------------------------------
// GetDocStatus returns information be set to main window status string when this document
// is active
//---------------------------------------------------------------------------
CString CDemoDoc::GetDocStatus()
{
   return GetActualFrameTitle();
}

//---------------------------------------------------------------------------
// Get(Set)FrameTitle returns(sets) string to be set to document frame title 
//---------------------------------------------------------------------------
CString CDemoDoc::GetActualFrameTitle() const
{
   if (m_FrameTitle.IsEmpty())
      return GetTitle();
   else
      return m_FrameTitle;
}

//---------------------------------------------------------------------------
// GetFrameType returns vector type string to be insert to document frame title 
//---------------------------------------------------------------------------
CString CDemoDoc::GetFrameType()
{
   return GetVector()->TypeString();
}

/////////////////////////////////////////////////////////////////////////////
// Providing Drag & Drop Operations on Demo applications

void CDemoDoc::GetDropTitle(CDropTitle* pTitle)
{
   pTitle->TitleSize = sizeof(CDropTitle);
   pTitle->HeaderSize = GetVector()->GetDropHeaderSize();
   pTitle->InfoSize = GetVector()->GetDropInfoSize();
   pTitle->DataSize = GetVector()->GetDropDataSize();
   pTitle->DropObject = GetImage() ? DROP_IMAGE : DROP_VECTOR;
#ifdef UNICODE
   wcscpy((unsigned short*)pTitle->DocName, GetTitle());
   wcscpy((unsigned short*)pTitle->AppName, DEMO_APP->GetDemoTitle() + _T(" Demo"));
#else
   strcpy(pTitle->DocName, GetTitle());
   strcpy(pTitle->AppName, DEMO_APP->GetDemoTitle() + _T(" Demo"));
#endif
}

void CDemoDoc::SetDropTitle(const CDropTitle* pTitle)
{
   GetHisto()->AddHead((CString)pTitle->AppName + _T(" - ") + pTitle->DocName);
}

BOOL CDemoDoc::ValidDropTitle(const CDropTitle* pDropTitle)
{
   CDropTitle thisTitle;
   GetDropTitle(&thisTitle);
   return 
      (pDropTitle->TitleSize  <= thisTitle.TitleSize ) &&
      (pDropTitle->HeaderSize <= thisTitle.HeaderSize) &&
      (pDropTitle->InfoSize   <= thisTitle.InfoSize  ) &&
      (pDropTitle->DataSize   == thisTitle.DataSize  );
}

void CDemoDoc::ReadDropVectorHeader(const char* pData, ppType& type, int& len)
{
   CVector vector;
   vector.ReadDropHeader(pData);
   type = vector.Type();
   len = vector.Length();
}

//////////////////////////////////////////////////////////////////
// CDemoDoc MFC Overrides

//---------------------------------------------------------------------------
// OnNewDocument implements New File command
//---------------------------------------------------------------------------
BOOL CDemoDoc::OnNewDocument()
{
   if (!CDocument::OnNewDocument())
      return FALSE;
   if (!CreateNewData())
      return FALSE;
   CreateProcess();
   return TRUE;
}

//---------------------------------------------------------------------------
// OnOpenDocument implements Open File command
//---------------------------------------------------------------------------
BOOL CDemoDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
   if (!CDocument::OnOpenDocument(lpszPathName))
      return FALSE;
   if (!IsData()) {
      CString message;
      message.Format(_T("Can't open %s: file is empty"), lpszPathName);
      AfxMessageBox(message);
      return FALSE;
   }
   CreateProcess();
   return TRUE;
}

//---------------------------------------------------------------------------
// OnCloseDocument implements Close File command
//---------------------------------------------------------------------------
void CDemoDoc::OnCloseDocument() 
{
   CDocument::OnCloseDocument();
   if (DEMO_APP->GetDocCount() == 0)
      MAIN_FRAME->SetMessageText(_T("Ready"));
}

//---------------------------------------------------------------------------
// OnFileSaveAs implements SaveAs File command
//---------------------------------------------------------------------------
void CDemoDoc::OnFileSaveAs() 
{
   CDocument::OnFileSaveAs();
   UpdateFrameTitle();
}

//---------------------------------------------------------------------------
// CanCloseFrame returns weather document can be closed or not
//---------------------------------------------------------------------------
BOOL CDemoDoc::CanCloseFrame(CFrameWnd* pFrame) 
{
   if (IsPicked()) {
      AfxMessageBox(
         _T("Can't close ") + GetTitle() + _T(": it is picked for function\n"));
      return FALSE;
   }
   return CDocument::CanCloseFrame(pFrame);
}


/////////////////////////////////////////////////////////////////////////////
// CDemoDoc diagnostics

#ifdef _DEBUG
void CDemoDoc::AssertValid() const
{
   CDocument::AssertValid();
}

void CDemoDoc::Dump(CDumpContext& dc) const
{
   CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CDemoDoc commands

//---------------------------------------------------------------------------
// OnFileHisto performs Menu-File-History command
//---------------------------------------------------------------------------
void CDemoDoc::OnFileHisto() 
{
   CFileHistoDlg dlg;
   dlg.m_Title = GetTitle();    
   dlg.m_pHistoList = GetVector()->GetHisto();
   dlg.DoModal();
}

//---------------------------------------------------------------------------
// OnUpdateProcess enables Menu-Process-ProcessBy command
//---------------------------------------------------------------------------
void CDemoDoc::OnUpdateProcess(CCmdUI* pCmdUI) 
{
   pCmdUI->Enable(CanEnableProcess());
}

//---------------------------------------------------------------------------
// OnProcess performs Menu-Process-ProcessBy command
//---------------------------------------------------------------------------
void CDemoDoc::OnProcess() 
{
   ProcessVector();
}

//---------------------------------------------------------------------------
// OnUpdateMruFunc1 updates Menu-Process-RecentFunctions MRU items
//---------------------------------------------------------------------------
void CDemoDoc::OnUpdateMruFunc1(CCmdUI* pCmdUI) 
{
   DEMO_APP->GetRecentFuncList()->UpdateMenu(pCmdUI, GetVector(),
      CanUpdateMru());
}

//---------------------------------------------------------------------------
// OnMruFunc* performs one of Menu-Process-RecentFunctions MRU items
//---------------------------------------------------------------------------
void CDemoDoc::OnMruFunc1() { ProcessVector(1);}
void CDemoDoc::OnMruFunc2() { ProcessVector(2);}
void CDemoDoc::OnMruFunc3() { ProcessVector(3);}
void CDemoDoc::OnMruFunc4() { ProcessVector(4);}
void CDemoDoc::OnMruFunc5() { ProcessVector(5);}
void CDemoDoc::OnMruFunc6() { ProcessVector(6);}

///////////////////////////////////////////////////////////////////



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜亚洲色图| 国产精品高清亚洲| 国产精品区一区二区三| 亚洲与欧洲av电影| 国产自产v一区二区三区c| 94-欧美-setu| 久久久国产精华| 免费在线观看一区| 色婷婷综合久久久| 欧美激情中文不卡| 日本欧美一区二区在线观看| 91视频com| 国产日韩欧美精品在线| 日本视频一区二区三区| av在线不卡观看免费观看| 日韩精品一区二区三区swag| 亚洲永久精品国产| 成人av在线资源网| 国产色一区二区| 九九视频精品免费| 6080yy午夜一二三区久久| 亚洲女同一区二区| 懂色av一区二区三区蜜臀| 日韩久久久久久| 亚洲成人午夜影院| 91国产视频在线观看| 久久久99精品久久| 国产一区在线观看麻豆| 日韩欧美一区中文| 日韩二区三区在线观看| 欧美日韩一级视频| 国产精品高潮呻吟| 国产成人av电影免费在线观看| 欧美一级二级三级蜜桃| 性久久久久久久| 欧美日韩三级视频| 午夜一区二区三区视频| 欧美色图一区二区三区| 亚洲小说欧美激情另类| 欧美一a一片一级一片| 亚洲精品v日韩精品| 91丨九色丨尤物| 亚洲欧美日韩国产综合| 99国产精品久久久久| 国产精品麻豆视频| 色综合视频在线观看| 伊人婷婷欧美激情| 91污片在线观看| 一区二区在线观看免费视频播放| 色婷婷久久综合| 无吗不卡中文字幕| 精品国产乱码久久久久久蜜臀 | 91视频在线看| 一区二区三区免费观看| 欧美亚洲国产怡红院影院| 一二三四区精品视频| 欧美日韩一级二级三级| 美女网站色91| 久久久久久久综合狠狠综合| 岛国精品在线播放| 亚洲欧美区自拍先锋| 欧美撒尿777hd撒尿| 免费成人av资源网| 日本一区二区三区在线观看| 99久久精品久久久久久清纯| 香蕉久久夜色精品国产使用方法| 日韩欧美在线123| 成人美女视频在线看| 亚洲在线免费播放| 日韩免费视频一区| av不卡在线观看| 亚洲bt欧美bt精品| 久久久精品免费免费| 在线中文字幕不卡| 国产一区二区美女| 一区二区三区 在线观看视频| 91精品国产色综合久久不卡蜜臀| 狠狠色丁香久久婷婷综合_中| 亚洲卡通动漫在线| 精品国产一区二区精华| 97精品久久久午夜一区二区三区 | 日韩免费成人网| 成人激情开心网| 亚洲成人自拍网| 国产亚洲一区二区三区在线观看| 色综合久久综合网| jvid福利写真一区二区三区| 一区二区在线观看av| 日韩免费观看高清完整版| heyzo一本久久综合| 蜜桃在线一区二区三区| 亚洲欧洲日韩综合一区二区| 欧美www视频| 欧美日韩免费观看一区二区三区 | 欧美大片顶级少妇| 欧美在线观看你懂的| 国产成人在线视频网址| 蜜桃视频一区二区三区在线观看 | 欧美激情一区三区| 91精品免费在线| 欧美系列亚洲系列| av激情综合网| 国产成人免费9x9x人网站视频| 午夜精品久久久久久久| 1000部国产精品成人观看| 久久综合成人精品亚洲另类欧美| 欧美无砖专区一中文字| 日本乱码高清不卡字幕| 国产999精品久久久久久| 捆绑变态av一区二区三区| 亚洲网友自拍偷拍| 一区二区成人在线观看| 国产精品久久777777| 国产免费观看久久| 国产香蕉久久精品综合网| 精品国产区一区| 在线不卡一区二区| 欧美色图第一页| 色哦色哦哦色天天综合| 波多野结衣中文一区| 国产成人在线视频免费播放| 国内精品久久久久影院薰衣草| 蜜桃av噜噜一区二区三区小说| 亚洲第一搞黄网站| 亚洲午夜三级在线| 亚洲午夜日本在线观看| 亚洲福利电影网| 天天综合色天天综合| 青青青爽久久午夜综合久久午夜| 亚洲国产精品一区二区www在线| 一区二区三区在线不卡| 亚洲欧美日韩国产手机在线 | 久久久国产精品不卡| 久久嫩草精品久久久久| 国产网红主播福利一区二区| 国产夜色精品一区二区av| 国产精品免费网站在线观看| 国产精品久久免费看| 成人欧美一区二区三区小说| 一区二区三区高清在线| 亚洲与欧洲av电影| 欧美a级理论片| 久久国产精品露脸对白| 国产一区不卡在线| 99久久亚洲一区二区三区青草| 91丨九色丨蝌蚪富婆spa| 欧美精品日韩一区| 精品国产一区二区国模嫣然| 国产精品国产三级国产aⅴ中文| 亚洲欧美乱综合| 蜜臀av一区二区三区| 岛国一区二区三区| 欧美在线视频全部完| 日韩欧美激情在线| 国产精品动漫网站| 日韩制服丝袜av| 国产成人av电影| 精品1区2区3区| 国产亚洲一区字幕| 亚洲午夜久久久| 国产高清在线精品| 欧美少妇一区二区| 国产视频一区二区在线| 亚洲主播在线观看| 国产成人av一区二区三区在线| 在线免费观看不卡av| 久久影院午夜论| 亚洲国产aⅴ成人精品无吗| 国产精品中文欧美| 欧洲av在线精品| 国产日韩av一区| 五月婷婷综合激情| 成人一级视频在线观看| 777xxx欧美| 亚洲色图在线看| 久久97超碰色| 欧美性极品少妇| 国产精品久久久久久福利一牛影视| 日韩成人免费看| 91麻豆免费视频| 久久这里都是精品| 午夜精品福利一区二区三区av| 成人国产免费视频| 欧美精品一区二区三区在线| 亚洲黄一区二区三区| 成人福利视频在线| 精品卡一卡二卡三卡四在线| 亚洲国产成人av网| 色哟哟在线观看一区二区三区| 久久老女人爱爱| 久久精品国产999大香线蕉| 精品视频在线视频| 亚洲精品视频一区二区| 粉嫩嫩av羞羞动漫久久久| 精品噜噜噜噜久久久久久久久试看| 亚洲国产一区二区三区青草影视 | 91成人在线精品| 樱桃视频在线观看一区| 99热在这里有精品免费| 中文一区在线播放|