void ZFUITextEditWidget::nativeImplViewMarginOnUpdate(ZF_IN_OUT ZFUIMargin &nativeImplViewMargin) { zfsuper::nativeImplViewMarginOnUpdate(nativeImplViewMargin); ZFUIImageView *textEditBackgroundView = this->textEditBackgroundView()->to<ZFUIImageView *>(); if(textEditBackgroundView->viewVisible()) { ZFUIImage *image = textEditBackgroundView->imageContent(); if(image != zfnull) { ZFUIMarginInc(nativeImplViewMargin, nativeImplViewMargin, image->imageNinePatch()); } } ZFUIButtonBasic *textEditClearButton = this->textEditClearButton()->to<ZFUIButtonBasic *>(); if(textEditClearButton->viewVisible()) { textEditClearButton->layoutMeasure(ZFUISizeInvalid, ZFUISizeParamWrapWidthWrapHeight); zfint size = ZFUIMarginGetX(textEditClearButton->layoutParam()->layoutMargin()) + textEditClearButton->layoutMeasuredSize().width; if(ZFBitTest(textEditClearButton->layoutParam()->layoutAlign(), ZFUIAlign::e_LeftInner)) { nativeImplViewMargin.left += size; } else { nativeImplViewMargin.right += size; } } }
virtual ZFFileToken fileOpen(ZF_IN const zfchar *filePath, ZF_IN_OPT ZFFileOpenOptionFlags flag = ZFFileOpenOption::e_Read) { const zfcharA *sFlag = zfnull; if(ZFBitTest(flag, ZFFileOpenOption::e_Append)) { if(ZFBitTest(flag, ZFFileOpenOption::e_Read)) { sFlag = zfTextA("a+b"); } else { sFlag = zfTextA("ab"); } } else if(ZFBitTest(flag, ZFFileOpenOption::e_Create)) { if(ZFBitTest(flag, ZFFileOpenOption::e_Read)) { sFlag = zfText("w+b"); } else { sFlag = zfText("wb"); } } else if(ZFBitTest(flag, ZFFileOpenOption::e_Write)) { if(ZFBitTest(flag, ZFFileOpenOption::e_Read)) { sFlag = zfTextA("r+b"); } else { sFlag = zfTextA("wb"); } } else if(ZFBitTest(flag, ZFFileOpenOption::e_Read)) { sFlag = zfTextA("rb"); } else { zfCoreCriticalShouldNotGoHere(); return ZFFileTokenInvalid; } #if ZF_ENV_sys_Windows zfstringW _filePathSaved = ZFStringZ2W(filePath); DWORD _fileAttrSaved = ::GetFileAttributesW(_filePathSaved.cString()); ::SetFileAttributesW(_filePathSaved.cString(), FILE_ATTRIBUTE_NORMAL); #endif ZFFileToken ret = (ZFFileToken)(::fopen(ZFStringZ2A(filePath), sFlag)); #if ZF_ENV_sys_Windows ::SetFileAttributesW(_filePathSaved.cString(), _fileAttrSaved); #endif return ret; }