本文整理汇总了C++中CFX_PtrArray::GetSize方法的典型用法代码示例。如果您正苦于以下问题:C++ CFX_PtrArray::GetSize方法的具体用法?C++ CFX_PtrArray::GetSize怎么用?C++ CFX_PtrArray::GetSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFX_PtrArray
的用法示例。
在下文中一共展示了CFX_PtrArray::GetSize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetObject
CPDF_PageObject* CPDF_LayoutElement::GetObject(int index)
{
if(m_pTaggedElement == NULL) {
return NULL;
}
CFX_PtrArray *pObj = &m_ObjArray;
int size = pObj->GetSize();
if(index < size) {
return (CPDF_PageObject*)pObj->GetAt(index);
}
return NULL;
}
示例2: delete
CBC_PDF417DetectorResult::~CBC_PDF417DetectorResult() {
for (int32_t i = 0; i < m_points->GetSize(); i++) {
CFX_PtrArray* temp = (CFX_PtrArray*)m_points->GetAt(i);
for (int32_t j = 0; j < temp->GetSize(); j++) {
delete (CBC_ResultPoint*)temp->GetAt(j);
}
temp->RemoveAll();
delete temp;
}
m_points->RemoveAll();
delete m_points;
}
示例3: NextStates
void CFWL_CheckBoxImp::NextStates() {
FX_DWORD dwFirststate = m_pProperties->m_dwStates;
if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_RadioButton) {
if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Unchecked) {
CFWL_WidgetMgr* pWidgetMgr =
static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
if (!pWidgetMgr->IsFormDisabled()) {
CFX_PtrArray radioarr;
pWidgetMgr->GetSameGroupRadioButton(m_pInterface, radioarr);
IFWL_CheckBox* pCheckBox = NULL;
int32_t iCount = radioarr.GetSize();
for (int32_t i = 0; i < iCount; i++) {
pCheckBox = static_cast<IFWL_CheckBox*>(radioarr[i]);
if (pCheckBox != m_pInterface &&
pCheckBox->GetStates() & FWL_STATE_CKB_Checked) {
pCheckBox->SetCheckState(0);
CFX_RectF rt;
pCheckBox->GetWidgetRect(rt);
rt.left = rt.top = 0;
m_pWidgetMgr->RepaintWidget(pCheckBox, &rt);
break;
}
}
}
m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
}
} else {
if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Neutral) {
m_pProperties->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_3State) {
m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
}
} else if ((m_pProperties->m_dwStates & FWL_STATE_CKB_CheckMask) ==
FWL_STATE_CKB_Checked) {
m_pProperties->m_dwStates &= ~FWL_STATE_CKB_CheckMask;
} else {
if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_CKB_3State) {
m_pProperties->m_dwStates |= FWL_STATE_CKB_Neutral;
} else {
m_pProperties->m_dwStates |= FWL_STATE_CKB_Checked;
}
}
}
Repaint(&m_rtClient);
FX_DWORD dwLaststate = m_pProperties->m_dwStates;
if (dwFirststate != dwLaststate) {
CFWL_EvtCkbCheckStateChanged wmCheckBoxState;
wmCheckBoxState.m_pSrcTarget = m_pInterface;
DispatchEvent(&wmCheckBoxState);
}
}
示例4: CBC_BarcodeMetadata
CBC_BarcodeMetadata*
CBC_DetectionResultRowIndicatorColumn::getBarcodeMetadata() {
CFX_PtrArray* codewords = getCodewords();
CBC_BarcodeValue barcodeColumnCount;
CBC_BarcodeValue barcodeRowCountUpperPart;
CBC_BarcodeValue barcodeRowCountLowerPart;
CBC_BarcodeValue barcodeECLevel;
for (int32_t i = 0; i < codewords->GetSize(); i++) {
CBC_Codeword* codeword = (CBC_Codeword*)codewords->GetAt(i);
if (codeword == NULL) {
continue;
}
codeword->setRowNumberAsRowIndicatorColumn();
int32_t rowIndicatorValue = codeword->getValue() % 30;
int32_t codewordRowNumber = codeword->getRowNumber();
if (!m_isLeft) {
codewordRowNumber += 2;
}
switch (codewordRowNumber % 3) {
case 0:
barcodeRowCountUpperPart.setValue(rowIndicatorValue * 3 + 1);
break;
case 1:
barcodeECLevel.setValue(rowIndicatorValue / 3);
barcodeRowCountLowerPart.setValue(rowIndicatorValue % 3);
break;
case 2:
barcodeColumnCount.setValue(rowIndicatorValue + 1);
break;
}
}
if ((barcodeColumnCount.getValue()->GetSize() == 0) ||
(barcodeRowCountUpperPart.getValue()->GetSize() == 0) ||
(barcodeRowCountLowerPart.getValue()->GetSize() == 0) ||
(barcodeECLevel.getValue()->GetSize() == 0) ||
barcodeColumnCount.getValue()->GetAt(0) < 1 ||
barcodeRowCountUpperPart.getValue()->GetAt(0) +
barcodeRowCountLowerPart.getValue()->GetAt(0) <
CBC_PDF417Common::MIN_ROWS_IN_BARCODE ||
barcodeRowCountUpperPart.getValue()->GetAt(0) +
barcodeRowCountLowerPart.getValue()->GetAt(0) >
CBC_PDF417Common::MAX_ROWS_IN_BARCODE) {
return NULL;
}
CBC_BarcodeMetadata* barcodeMetadata =
new CBC_BarcodeMetadata(barcodeColumnCount.getValue()->GetAt(0),
barcodeRowCountUpperPart.getValue()->GetAt(0),
barcodeRowCountLowerPart.getValue()->GetAt(0),
barcodeECLevel.getValue()->GetAt(0));
removeIncorrectCodewords(codewords, *barcodeMetadata);
return barcodeMetadata;
}
示例5:
v8::Handle<v8::Object> JS_GetStaticObj(IJS_Runtime* pJSRuntime, int nObjDefnID)
{
v8::Isolate* isolate = (v8::Isolate*)pJSRuntime;
v8::Isolate::Scope isolate_scope(isolate);
CFX_PtrArray* pArray = (CFX_PtrArray*)isolate->GetData(0);
if(!pArray) return v8::Handle<v8::Object>();
if(nObjDefnID<0 || nObjDefnID>= pArray->GetSize()) return v8::Handle<v8::Object>();
CJS_ObjDefintion* pObjDef = (CJS_ObjDefintion*)pArray->GetAt(nObjDefnID);
v8::Local<v8::Object> obj = v8::Local<v8::Object>::New(isolate,pObjDef->m_StaticObj);
return obj;
}
示例6: removeField
FX_BOOL Document::removeField(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, CFX_WideString& sError)
{
ASSERT(m_pDocument != NULL);
if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) return FALSE;
CJS_Context* pContext = (CJS_Context*)cc;
if (params.size() != 1) {
sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
return FALSE;
}
CFX_WideString sFieldName = params[0].ToCFXWideString();
CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
ASSERT(pInterForm != NULL);
CFX_PtrArray widgets;
pInterForm->GetWidgets(sFieldName, widgets);
int nSize = widgets.GetSize();
if (nSize > 0)
{
for (int i=0; i<nSize; i++)
{
CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)widgets[i];
ASSERT(pWidget != NULL);
CPDF_Rect rcAnnot = pWidget->GetRect();
rcAnnot.left -= 1;
rcAnnot.bottom -= 1;
rcAnnot.right += 1;
rcAnnot.top += 1;
CFX_RectArray aRefresh;
aRefresh.Add(rcAnnot);
CPDF_Page* pPage = pWidget->GetPDFPage();
ASSERT(pPage != NULL);
CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage);
pPageView->DeleteAnnot(pWidget);
pPageView->UpdateRects(aRefresh);
}
m_pDocument->SetChangeMark();
}
return TRUE;
}
示例7: SetSpanAutoColRowSize
void CFWL_GridImp::SetSpanAutoColRowSize(const CFX_PtrArray& spanAutos,
FX_FLOAT fTotalSize) {
int32_t iAutoColRows = spanAutos.GetSize();
if (iAutoColRows < 1) {
return;
}
CFX_PtrArray autoNoMinMaxs;
FX_FLOAT fAutoPer = fTotalSize / iAutoColRows;
for (int32_t j = 0; j < iAutoColRows; j++) {
CFWL_GridColRow* pColumn = static_cast<CFWL_GridColRow*>(spanAutos[j]);
FX_FLOAT fOrgSize = pColumn->m_fActualSize;
if (SetColRowActualSize(pColumn, pColumn->m_fActualSize + fAutoPer, TRUE)) {
autoNoMinMaxs.Add(pColumn);
} else {
fTotalSize -= pColumn->m_fActualSize - fOrgSize;
int32_t iNoMinMax = iAutoColRows - (j + 1 - autoNoMinMaxs.GetSize());
if (iNoMinMax > 0 && fTotalSize > 0) {
fAutoPer = fTotalSize / iNoMinMax;
} else {
break;
}
}
}
int32_t iNormals = autoNoMinMaxs.GetSize();
if (fTotalSize > 0) {
if (iNormals == iAutoColRows) {
fAutoPer = fTotalSize / iNormals;
for (int32_t k = 0; k < iNormals; k++) {
CFWL_GridColRow* pColumn =
static_cast<CFWL_GridColRow*>(autoNoMinMaxs[k]);
pColumn->m_fActualSize += fAutoPer;
}
} else {
SetSpanAutoColRowSize(autoNoMinMaxs, fTotalSize);
}
} else {
}
}
示例8: JS_DefineObj
int JS_DefineObj(IJS_Runtime* pJSRuntime, const wchar_t* sObjName, FXJSOBJTYPE eObjType, LP_CONSTRUCTOR pConstructor, LP_DESTRUCTOR pDestructor, unsigned bApplyNew)
{
v8::Isolate* isolate = (v8::Isolate*)pJSRuntime;
v8::Isolate::Scope isolate_scope(isolate);
v8::HandleScope handle_scope(isolate);
CFX_PtrArray* pArray = (CFX_PtrArray*)isolate->GetData(0);
if(!pArray)
{
pArray = new CFX_PtrArray();
isolate->SetData(0, pArray);
}
CJS_ObjDefintion* pObjDef = new CJS_ObjDefintion(isolate, sObjName, eObjType, pConstructor, pDestructor, bApplyNew);
pArray->Add(pObjDef);
return pArray->GetSize()-1;
}
示例9: detect
CFX_PtrArray* CBC_Detector::detect(FX_BOOL multiple,
CBC_CommonBitMatrix* bitMatrix) {
CFX_PtrArray* barcodeCoordinates = new CFX_PtrArray;
int32_t row = 0;
int32_t column = 0;
FX_BOOL foundBarcodeInRow = FALSE;
while (row < bitMatrix->GetHeight()) {
CFX_PtrArray* vertices = findVertices(bitMatrix, row, column);
if (vertices->GetAt(0) == NULL && vertices->GetAt(3) == NULL) {
if (!foundBarcodeInRow) {
if (vertices) {
delete (vertices);
}
break;
}
foundBarcodeInRow = FALSE;
column = 0;
for (int32_t i = 0; i < barcodeCoordinates->GetSize(); i++) {
CFX_PtrArray* barcodeCoordinate =
(CFX_PtrArray*)barcodeCoordinates->GetAt(i);
if (barcodeCoordinate->GetAt(1) != NULL) {
row = row > ((CBC_ResultPoint*)barcodeCoordinate->GetAt(1))->GetY();
}
if (barcodeCoordinate->GetAt(3) != NULL) {
row = row > ((CBC_ResultPoint*)barcodeCoordinate->GetAt(3))->GetY();
}
}
row += ROW_STEP;
if (vertices) {
delete (vertices);
}
continue;
}
foundBarcodeInRow = TRUE;
barcodeCoordinates->Add(vertices);
if (!multiple) {
break;
}
if (vertices->GetAt(2) != NULL) {
column = (int32_t)((CBC_ResultPoint*)vertices->GetAt(2))->GetX();
row = (int32_t)((CBC_ResultPoint*)vertices->GetAt(2))->GetY();
} else {
column = (int32_t)((CBC_ResultPoint*)vertices->GetAt(4))->GetX();
row = (int32_t)((CBC_ResultPoint*)vertices->GetAt(4))->GetY();
}
}
return barcodeCoordinates;
}
示例10: JS_InitialRuntime
void JS_InitialRuntime(IJS_Runtime* pJSRuntime,IFXJS_Runtime* pFXRuntime, IFXJS_Context* context, v8::Persistent<v8::Context>& v8PersistentContext)
{
v8::Isolate* isolate = (v8::Isolate*)pJSRuntime;
v8::Isolate::Scope isolate_scope(isolate);
v8::HandleScope handle_scope(isolate);
v8::Persistent<v8::ObjectTemplate>& globalObjTemp = _getGlobalObjectTemplate(pJSRuntime);
v8::Handle<v8::Context> v8Context = v8::Context::New(isolate, NULL, v8::Local<v8::ObjectTemplate>::New(isolate, globalObjTemp));
v8::Context::Scope context_scope(v8Context);
v8::Handle<v8::External> ptr = v8::External::New(isolate, pFXRuntime);
v8Context->SetEmbedderData(1, ptr);
CFX_PtrArray* pArray = (CFX_PtrArray*)isolate->GetData(0);
if(!pArray) return;
for(int i=0; i<pArray->GetSize(); i++)
{
CJS_ObjDefintion* pObjDef = (CJS_ObjDefintion*)pArray->GetAt(i);
CFX_WideString ws = CFX_WideString(pObjDef->objName);
CFX_ByteString bs = ws.UTF8Encode();
v8::Handle<v8::String> objName = v8::String::NewFromUtf8(isolate, bs.c_str(), v8::String::kNormalString, bs.GetLength());
if(pObjDef->objType == JS_DYNAMIC)
{
//Document is set as global object, need to construct it first.
if(ws.Equal(L"Document"))
{
CJS_PrivateData* pPrivateData = new CJS_PrivateData;
pPrivateData->ObjDefID = i;
v8Context->Global()->GetPrototype()->ToObject()->SetAlignedPointerInInternalField(0, pPrivateData);
if(pObjDef->m_pConstructor)
pObjDef->m_pConstructor(context, v8Context->Global()->GetPrototype()->ToObject(), v8Context->Global()->GetPrototype()->ToObject());
}
}
else
{
v8::Handle<v8::Object> obj = JS_NewFxDynamicObj(pJSRuntime, context, i);
v8Context->Global()->Set(objName, obj);
pObjDef->m_StaticObj.Reset(isolate, obj);
}
}
v8PersistentContext.Reset(isolate, v8Context);
}
示例11: handle_scope
int JS_DefineObjAllProperties(IJS_Runtime* pJSRuntime, int nObjDefnID, v8::NamedPropertyQueryCallback pPropQurey, v8::NamedPropertyGetterCallback pPropGet, v8::NamedPropertySetterCallback pPropPut, v8::NamedPropertyDeleterCallback pPropDel)
{
v8::Isolate* isolate = (v8::Isolate*)pJSRuntime;
v8::Isolate::Scope isolate_scope(isolate);
v8::HandleScope handle_scope(isolate);
CFX_PtrArray* pArray = (CFX_PtrArray*)isolate->GetData(0);
if(!pArray) return 0;
if(nObjDefnID<0 || nObjDefnID>= pArray->GetSize()) return 0;
CJS_ObjDefintion* pObjDef = (CJS_ObjDefintion*)pArray->GetAt(nObjDefnID);
v8::Local<v8::ObjectTemplate> objTemp = v8::Local<v8::ObjectTemplate>::New(isolate, pObjDef->m_objTemplate);
objTemp->SetNamedPropertyHandler(pPropGet, pPropPut, pPropQurey, pPropDel);
pObjDef->m_objTemplate.Reset(isolate,objTemp);
return 0;
}
示例12: GetLinkAtPoint
CPDF_Link CPDF_LinkList::GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y)
{
CFX_PtrArray* pPageLinkList = GetPageLinks(pPage);
if (pPageLinkList == NULL) {
return NULL;
}
int size = pPageLinkList->GetSize();
for (int i = 0; i < size; i ++) {
CPDF_Link Link = (CPDF_Dictionary*)pPageLinkList->GetAt(i);
CPDF_Rect rect = Link.GetRect();
if (rect.Contains(pdf_x, pdf_y)) {
return Link;
}
}
return NULL;
}
示例13: JS_GetObjDefnID
int JS_GetObjDefnID(IJS_Runtime * pJSRuntime, const wchar_t* pObjName)
{
v8::Isolate* isolate = (v8::Isolate*)pJSRuntime;
v8::Isolate::Scope isolate_scope(isolate);
CFX_PtrArray* pArray = (CFX_PtrArray*)isolate->GetData(0);
if(!pArray) return -1;
for(int i=0; i<pArray->GetSize(); i++)
{
CJS_ObjDefintion* pObjDef = (CJS_ObjDefintion*)pArray->GetAt(i);
if(FXSYS_wcscmp(pObjDef->objName, pObjName) == 0)
return i;
}
return -1;
}
示例14: adjustRowNumbers
void CBC_DetectionResult::adjustRowNumbers(int32_t barcodeColumn,
int32_t codewordsRow,
CFX_PtrArray* codewords) {
CBC_Codeword* codeword = (CBC_Codeword*)codewords->GetAt(codewordsRow);
CFX_PtrArray* previousColumnCodewords =
((CBC_DetectionResultColumn*)m_detectionResultColumns.GetAt(
barcodeColumn - 1))
->getCodewords();
CFX_PtrArray* nextColumnCodewords = previousColumnCodewords;
if (m_detectionResultColumns[barcodeColumn + 1]) {
nextColumnCodewords = ((CBC_DetectionResultColumn*)
m_detectionResultColumns[barcodeColumn + 1])
->getCodewords();
}
CFX_PtrArray otherCodewords;
otherCodewords.SetSize(14);
otherCodewords[2] = previousColumnCodewords->GetAt(codewordsRow);
otherCodewords[3] = nextColumnCodewords->GetAt(codewordsRow);
if (codewordsRow > 0) {
otherCodewords[0] = codewords->GetAt(codewordsRow - 1);
otherCodewords[4] = previousColumnCodewords->GetAt(codewordsRow - 1);
otherCodewords[5] = nextColumnCodewords->GetAt(codewordsRow - 1);
}
if (codewordsRow > 1) {
otherCodewords[8] = codewords->GetAt(codewordsRow - 2);
otherCodewords[10] = previousColumnCodewords->GetAt(codewordsRow - 2);
otherCodewords[11] = nextColumnCodewords->GetAt(codewordsRow - 2);
}
if (codewordsRow < codewords->GetSize() - 1) {
otherCodewords[1] = codewords->GetAt(codewordsRow + 1);
otherCodewords[6] = previousColumnCodewords->GetAt(codewordsRow + 1);
otherCodewords[7] = nextColumnCodewords->GetAt(codewordsRow + 1);
}
if (codewordsRow < codewords->GetSize() - 2) {
otherCodewords[9] = codewords->GetAt(codewordsRow + 2);
otherCodewords[12] = previousColumnCodewords->GetAt(codewordsRow + 2);
otherCodewords[13] = nextColumnCodewords->GetAt(codewordsRow + 2);
}
for (int32_t i = 0; i < otherCodewords.GetSize(); i++) {
CBC_Codeword* otherCodeword = (CBC_Codeword*)otherCodewords.GetAt(i);
if (adjustRowNumber(codeword, otherCodeword)) {
return;
}
}
}
示例15: InsertDeletePDFPage
static int InsertDeletePDFPage(CPDF_Document* pDoc, CPDF_Dictionary* pPages,
int nPagesToGo, CPDF_Dictionary* pPage, FX_BOOL bInsert, CFX_PtrArray& stackList)
{
CPDF_Array* pKidList = pPages->GetArray("Kids");
if (!pKidList) {
return -1;
}
int nKids = pKidList->GetCount();
for (int i = 0; i < nKids; i ++) {
CPDF_Dictionary* pKid = pKidList->GetDict(i);
if (pKid->GetString("Type") == FX_BSTRC("Page")) {
if (nPagesToGo == 0) {
if (bInsert) {
pKidList->InsertAt(i, CPDF_Reference::Create(pDoc, pPage->GetObjNum()));
pPage->SetAtReference("Parent", pDoc, pPages->GetObjNum());
} else {
pKidList->RemoveAt(i);
}
pPages->SetAtInteger("Count", pPages->GetInteger("Count") + (bInsert ? 1 : -1));
return 1;
}
nPagesToGo --;
} else {
int nPages = pKid->GetInteger("Count");
if (nPagesToGo < nPages) {
int stackCount = stackList.GetSize();
for (int j = 0; j < stackCount; ++j) {
if (pKid == stackList[j]) {
return -1;
}
}
stackList.Add(pKid);
if (InsertDeletePDFPage(pDoc, pKid, nPagesToGo, pPage, bInsert, stackList) < 0) {
return -1;
}
stackList.RemoveAt(stackCount);
pPages->SetAtInteger("Count", pPages->GetInteger("Count") + (bInsert ? 1 : -1));
return 1;
}
nPagesToGo -= nPages;
}
}
return 0;
}