void CARIB8CharDecode::CheckModify(void) { if( m_bPSI == TRUE ){ return; } if( m_strDecode.length() > 0 ){ if( IsChgPos() == FALSE ){ CAPTION_CHAR_DATA CharItem; CreateCaptionCharData(&CharItem); (*m_pCaptionList)[m_pCaptionList->size()-1].CharList.push_back(CharItem); m_strDecode = ""; }else{ CAPTION_DATA Item; CreateCaptionData(&Item); m_pCaptionList->push_back(Item); CAPTION_CHAR_DATA CharItem; CreateCaptionCharData(&CharItem); (*m_pCaptionList)[m_pCaptionList->size()-1].CharList.push_back(CharItem); m_strDecode = ""; m_dwWaitTime = 0; } } }
//変換済みの本文をリストに移す //CAPTION_CHAR_DATAやCAPTION_DATAのプロパティ変更が必要な処理の直前によぶ void CARIB8CharDecode::CheckModify(BOOL bForce) { if( bForce || !m_strDecode.empty() ){ if( IsCaptionPropertyChanged() ){ #ifdef DDEBUG_OUT TCHAR debug[256]; wsprintf(debug, TEXT(__FUNCTION__) TEXT("(): ++CaptionList (cx,cy)=(%d,%d) (cw,ch)=(%d,%d) (px,py)=(%d,%d)\n"), m_wClientX, m_wClientY, m_wClientW, m_wClientH, m_wPosStartX, m_wPosY); DEBUG_OUT(debug); #endif CAPTION_DATA Item; CreateCaptionData(&Item); m_pCaptionList->push_back(Item); } DEBUG_OUT(TEXT(__FUNCTION__) TEXT("(): ++ ")); DEBUG_OUT(m_strDecode.c_str()); DEBUG_OUT(TEXT("\n")); CAPTION_CHAR_DATA CharItem; CreateCaptionCharData(&CharItem); m_pCaptionList->back().CharList.push_back(CharItem); m_strDecode = L""; } }