bool CLine::Check_Out_Rect(CPoint c_point1,CPoint c_point2) { CRect crect1(c_point1,c_point2); if((crect1.PtInRect(point1)&&crect1.PtInRect(point2))||CheckRect(c_point1)) return TRUE; else return FALSE; }
void CFlashingWnd::MoveRegion(int diffx, int diffy) { CheckRect(diffx, diffy); CRgn wndRgn; CRgn rgnTemp; CRgn rgnTemp2; CRgn rgnTemp3; MakeFixedRegion(wndRgn, rgnTemp, rgnTemp2, rgnTemp3); if (SetWindowRgn(wndRgn, TRUE)) { UpdateRegionMove(); } }
int GQuadTree::AddObject(GBaseObj* pObj) { //pObj->m_iIndex = m_TotalObjList.size(); //m_TotalObjList.push_back(pObj); if (CheckRect(m_pRootNode, pObj)) { GNode* pNode = FindNode(m_pRootNode, pObj); if( pNode ) { pNode->m_ObjectList.push_back( pObj ); } return 1; } return 0; }
int SelectUIChild(UIChild* children, u32 num, V2 coords) { u32 index = 0; UIChild* c = 0; while(index < num) { c = children + index; if(CheckRect(c->rect, coords)) { return index; } ++index; } return -1; }
UIParent* SelectUIParent(UIParent* parents, u32 num, V2 coords) { u32 index = 0; UIParent* p = 0; while(index < num) { p = parents + index; if(CheckRect(p->rect, coords)) { return p; } ++index; } return 0; }
GNode* GQuadTree::FindNode(GNode* pNode, GBaseObj* pObj ) { assert( pNode ); do{ for( DWORD dwChild=0; dwChild < pNode->m_ChildList.size(); dwChild++ ) { if( pNode->m_ChildList[dwChild] && CheckRect( pNode->m_ChildList[dwChild], pObj ) ) { m_QuadTreeQueue.push( pNode->m_ChildList[dwChild] ); } } if( m_QuadTreeQueue.empty() ) break; pNode = m_QuadTreeQueue.front(); //pNode->m_ObjectList.push_back(pObj); m_QuadTreeQueue.pop(); }while( pNode ); return pNode; }
TEST_F(FSDKBaseFormEmbeddertest, CBA_AnnotIterator) { EXPECT_TRUE(OpenDocument("annotiter.pdf")); FPDF_PAGE page0 = LoadPage(0); FPDF_PAGE page1 = LoadPage(1); FPDF_PAGE page2 = LoadPage(2); EXPECT_TRUE(page0); EXPECT_TRUE(page1); EXPECT_TRUE(page2); CFX_FloatRect LeftBottom(200, 200, 220, 220); CFX_FloatRect RightBottom(400, 201, 420, 221); CFX_FloatRect LeftTop(201, 400, 221, 420); CFX_FloatRect RightTop(401, 401, 421, 421); CPDFSDK_FormFillEnvironment* pFormFillEnv = static_cast<CPDFSDK_FormFillEnvironment*>(form_handle()); { // Page 0 specifies "row order". CBA_AnnotIterator iter(pFormFillEnv->GetPageView(0), CPDF_Annot::Subtype::WIDGET); CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot(); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetNextAnnot(pAnnot); EXPECT_EQ(iter.GetFirstAnnot(), pAnnot); pAnnot = iter.GetLastAnnot(); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetPrevAnnot(pAnnot); EXPECT_EQ(iter.GetLastAnnot(), pAnnot); } { // Page 1 specifies "column order" CBA_AnnotIterator iter(pFormFillEnv->GetPageView(1), CPDF_Annot::Subtype::WIDGET); CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot(); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetNextAnnot(pAnnot); EXPECT_EQ(iter.GetFirstAnnot(), pAnnot); pAnnot = iter.GetLastAnnot(); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetPrevAnnot(pAnnot); EXPECT_EQ(iter.GetLastAnnot(), pAnnot); } { // Page 2 specifies "struct order" CBA_AnnotIterator iter(pFormFillEnv->GetPageView(2), CPDF_Annot::Subtype::WIDGET); CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot(); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetNextAnnot(pAnnot); EXPECT_EQ(iter.GetFirstAnnot(), pAnnot); pAnnot = iter.GetLastAnnot(); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetPrevAnnot(pAnnot); EXPECT_EQ(iter.GetLastAnnot(), pAnnot); } UnloadPage(page2); UnloadPage(page1); UnloadPage(page0); }
///////////////////////////////////////////////////////////////////////////// // CreateInternalFileForFormatter Bool CreateInternalFileForFormatter(FILE *pIFName) { Bool FReturnCode = TRUE; CSTR_line line; CFPage Page; PAGEINFO PageInfo; Handle hCPAGE = CPAGE_GetHandlePage( CPAGE_GetCurrentPage()); GetPageInfo(hCPAGE,&PageInfo); if(PageInfo.X && PageInfo.Y){ TemplateOffset.x = PageInfo.X; TemplateOffset.y = PageInfo.Y; } else{ TemplateOffset.x = 0; TemplateOffset.y = 0; } //Создание массива текстовых фрагментов Page.FragmentsArray.clear(); Page.CreateArray_For_TextFragments( ); //Чтение информации из хранилиша line = CSTR_FirstLine (1); while(line) { if(CheckComingLine(&line) && Page.CheckComingLine_For_TextFragments(&line)) Page.ProcessingComingLine(&line); line = CSTR_NextLine ( line, 1 ); } CountPict = GetPictCount(); // CountTable = GetTablCount(); if(Page.Count.Chars>32000){ ExFlagMode = TRUE; } if(!(Page.Count.Frags + (int)CountPict + (int)CountTable)){ if(CreateEmptyRtfFile()<0){ SetReturnCode_rfrmt(IDS_ERR_SIZEFRAGMENT); return FALSE; } return TRUE; } //Создания внутреннего файла для форматирования uint16_t DistanceBetweenLeftMargin = 15; uint16_t DistanceBetweenTopMargin = 5; Page.m_wDpi = (uint16_t)PageInfo.DPIX; PageIncline2048 = PageInfo.Incline2048; InternalRect VRect; fwrite(&Page.m_wDpi, sizeof(uint16_t),1,pIFName); // ScanResolution fwrite(&Page.Count.Frags, sizeof(uint16_t),1,pIFName); // число колонок fwrite(&Page.Count.Chars, sizeof(uint16_t),1,pIFName); // число знакомест in all page fwrite(&Page.Count.Words, sizeof(uint16_t),1,pIFName); // число слов fwrite(&Page.Count.Strings, sizeof(uint16_t),1,pIFName); // число строк fwrite(&DistanceBetweenLeftMargin,sizeof(uint16_t),1,pIFName); // distance between left margin letters- neighdoors from one word fwrite(&DistanceBetweenTopMargin, sizeof(uint16_t),1,pIFName); // distance between top margin CFragment* cFrag; CFString* cString; CWord* cWord; CChar* cChar; // Processing Fragments for(int iPage=0; iPage < Page.Count.Frags; iPage++){ cFrag = (CFragment*)Page.m_arFrags[iPage]; VCopyRect( &VRect, &cFrag->m_rectFrag); if(CheckRect( &VRect ) == FALSE) FReturnCode = FALSE ; fwrite(&VRect , sizeof( InternalRect ),1,pIFName); fwrite(&cFrag->m_wStringsCount, sizeof( uint16_t ),1,pIFName); fwrite(&cFrag->m_wUserNumber , sizeof( uint32_t ),1,pIFName); fwrite(&cFrag->m_Flags , sizeof( uint32_t ),1,pIFName); // Processing Strings for(int iFrag=0; iFrag < cFrag->m_wStringsCount; iFrag++){ cString = (CFString*)cFrag->m_arStrings[iFrag]; VCopyRect( &VRect, &cString->m_rectBaseLine ); fwrite( &VRect, sizeof( InternalRect ),1,pIFName); VCopyRect( &VRect, &cString->m_rectString ); fwrite( &VRect, sizeof( InternalRect ),1,pIFName); fwrite( &cString->m_wWordsCount, sizeof( uint16_t ),1,pIFName); fwrite( &cString->S_Flags, sizeof( uint32_t ),1,pIFName); //NEGA_STR // Processing Words for(int iString=0; iString < cString->m_wWordsCount; iString++){ cWord = (CWord*)cString->m_arWords[iString]; fwrite( &cWord->m_wCharsCount, sizeof( uint16_t ),1,pIFName); fwrite( &cWord->m_wFontNumber, sizeof( uint16_t ),1,pIFName); fwrite( &cWord->m_wFontPointSize,sizeof( uint16_t ),1,pIFName); // Processing Letters for(int iWord=0; iWord < cWord->m_wCharsCount; iWord++){ cChar = (CChar*)cWord->m_arChars[iWord]; VCopyRect( &VRect, &cChar->m_rectChar ); fwrite( &VRect , sizeof( InternalRect ),1,pIFName); VCopyRect( &VRect, &cChar->m_RealRectChar ); fwrite( &VRect , sizeof( InternalRect ),1,pIFName); fwrite( &cChar->m_wCountAlt , sizeof( uint16_t ),1,pIFName); for (int iAlt=0;iAlt<cChar->m_wCountAlt&&iAlt<REC_MAX_VERS;iAlt++) { fwrite( &cChar->m_chrVersions[iAlt].m_bChar ,sizeof( char ),1,pIFName); fwrite( &cChar->m_chrVersions[iAlt].m_bProbability , sizeof( char ),1,pIFName); } fwrite( &cChar->m_blanguage , sizeof( char ),1,pIFName); fwrite( &cChar->m_bFlg_spell_nocarrying, sizeof( char ),1,pIFName); fwrite( &cChar->m_bFlg_cup_drop ,sizeof( char ),1,pIFName); fwrite( &cChar->m_bFlg_spell, sizeof( char ),1,pIFName); fwrite( &cChar->m_wFontNumber , sizeof( char ),1,pIFName); } } } } return FReturnCode; }
TEST_F(FSDKBaseFormEmbeddertest, CBA_AnnotIterator) { EXPECT_TRUE(OpenDocument("annotiter.pdf")); EXPECT_TRUE(LoadPage(0)); EXPECT_TRUE(LoadPage(1)); EXPECT_TRUE(LoadPage(2)); CPDF_Rect LeftBottom(200, 200, 220, 220); CPDF_Rect RightBottom(400, 201, 420, 221); CPDF_Rect LeftTop(201, 400, 221, 420); CPDF_Rect RightTop(401, 401, 421, 421); CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(form_handle()); { // Page 0 specifies "row order". CBA_AnnotIterator iter(pSDKDoc->GetPageView(0), "Widget", ""); CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot(); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetNextAnnot(pAnnot); EXPECT_EQ(iter.GetFirstAnnot(), pAnnot); pAnnot = iter.GetLastAnnot(); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetPrevAnnot(pAnnot); EXPECT_EQ(iter.GetLastAnnot(), pAnnot); } { // Page 1 specifies "column order" CBA_AnnotIterator iter(pSDKDoc->GetPageView(1), "Widget", ""); CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot(); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetNextAnnot(pAnnot); EXPECT_EQ(iter.GetFirstAnnot(), pAnnot); pAnnot = iter.GetLastAnnot(); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetPrevAnnot(pAnnot); EXPECT_EQ(iter.GetLastAnnot(), pAnnot); } { // Page 2 specifies "struct order" CBA_AnnotIterator iter(pSDKDoc->GetPageView(2), "Widget", ""); CPDFSDK_Annot* pAnnot = iter.GetFirstAnnot(); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetNextAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetNextAnnot(pAnnot); EXPECT_EQ(iter.GetFirstAnnot(), pAnnot); pAnnot = iter.GetLastAnnot(); CheckRect(pAnnot->GetRect(), RightBottom); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), RightTop); pAnnot = iter.GetPrevAnnot(pAnnot); CheckRect(pAnnot->GetRect(), LeftBottom); pAnnot = iter.GetPrevAnnot(pAnnot); EXPECT_EQ(iter.GetLastAnnot(), pAnnot); } }
void CTBlank::CheckBlankWindows() { User::Heap().Check(); CheckRect(iBaseWin,iTestWin,TRect(BaseWin->Size()),_L("CheckBlankWindows - CheckRect(iBaseWin,iTestWin,TRect(BaseWin->Size()) failed")); }