OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "fpdfsdk/fxedit/fxet_edit.h" | 7 #include "fpdfsdk/fxedit/fxet_edit.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 } | 157 } |
158 | 158 |
159 } // namespace | 159 } // namespace |
160 | 160 |
161 CFX_Edit_Iterator::CFX_Edit_Iterator(CFX_Edit* pEdit, | 161 CFX_Edit_Iterator::CFX_Edit_Iterator(CFX_Edit* pEdit, |
162 CPDF_VariableText::Iterator* pVTIterator) | 162 CPDF_VariableText::Iterator* pVTIterator) |
163 : m_pEdit(pEdit), m_pVTIterator(pVTIterator) {} | 163 : m_pEdit(pEdit), m_pVTIterator(pVTIterator) {} |
164 | 164 |
165 CFX_Edit_Iterator::~CFX_Edit_Iterator() {} | 165 CFX_Edit_Iterator::~CFX_Edit_Iterator() {} |
166 | 166 |
167 FX_BOOL CFX_Edit_Iterator::NextWord() { | 167 bool CFX_Edit_Iterator::NextWord() { |
168 return m_pVTIterator->NextWord(); | 168 return m_pVTIterator->NextWord(); |
169 } | 169 } |
170 | 170 |
171 FX_BOOL CFX_Edit_Iterator::PrevWord() { | 171 bool CFX_Edit_Iterator::PrevWord() { |
172 return m_pVTIterator->PrevWord(); | 172 return m_pVTIterator->PrevWord(); |
173 } | 173 } |
174 | 174 |
175 FX_BOOL CFX_Edit_Iterator::GetWord(CPVT_Word& word) const { | 175 bool CFX_Edit_Iterator::GetWord(CPVT_Word& word) const { |
176 ASSERT(m_pEdit); | 176 ASSERT(m_pEdit); |
177 | 177 |
178 if (m_pVTIterator->GetWord(word)) { | 178 if (m_pVTIterator->GetWord(word)) { |
179 word.ptWord = m_pEdit->VTToEdit(word.ptWord); | 179 word.ptWord = m_pEdit->VTToEdit(word.ptWord); |
180 return TRUE; | 180 return true; |
181 } | 181 } |
182 return FALSE; | 182 return false; |
183 } | 183 } |
184 | 184 |
185 FX_BOOL CFX_Edit_Iterator::GetLine(CPVT_Line& line) const { | 185 bool CFX_Edit_Iterator::GetLine(CPVT_Line& line) const { |
186 ASSERT(m_pEdit); | 186 ASSERT(m_pEdit); |
187 | 187 |
188 if (m_pVTIterator->GetLine(line)) { | 188 if (m_pVTIterator->GetLine(line)) { |
189 line.ptLine = m_pEdit->VTToEdit(line.ptLine); | 189 line.ptLine = m_pEdit->VTToEdit(line.ptLine); |
190 return TRUE; | 190 return true; |
191 } | 191 } |
192 return FALSE; | 192 return false; |
193 } | 193 } |
194 | 194 |
195 FX_BOOL CFX_Edit_Iterator::GetSection(CPVT_Section& section) const { | 195 bool CFX_Edit_Iterator::GetSection(CPVT_Section& section) const { |
196 ASSERT(m_pEdit); | 196 ASSERT(m_pEdit); |
197 | 197 |
198 if (m_pVTIterator->GetSection(section)) { | 198 if (m_pVTIterator->GetSection(section)) { |
199 section.rcSection = m_pEdit->VTToEdit(section.rcSection); | 199 section.rcSection = m_pEdit->VTToEdit(section.rcSection); |
200 return TRUE; | 200 return true; |
201 } | 201 } |
202 return FALSE; | 202 return false; |
203 } | 203 } |
204 | 204 |
205 void CFX_Edit_Iterator::SetAt(int32_t nWordIndex) { | 205 void CFX_Edit_Iterator::SetAt(int32_t nWordIndex) { |
206 m_pVTIterator->SetAt(nWordIndex); | 206 m_pVTIterator->SetAt(nWordIndex); |
207 } | 207 } |
208 | 208 |
209 void CFX_Edit_Iterator::SetAt(const CPVT_WordPlace& place) { | 209 void CFX_Edit_Iterator::SetAt(const CPVT_WordPlace& place) { |
210 m_pVTIterator->SetAt(place); | 210 m_pVTIterator->SetAt(place); |
211 } | 211 } |
212 | 212 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 int32_t CFX_Edit_Provider::GetWordFontIndex(uint16_t word, | 258 int32_t CFX_Edit_Provider::GetWordFontIndex(uint16_t word, |
259 int32_t charset, | 259 int32_t charset, |
260 int32_t nFontIndex) { | 260 int32_t nFontIndex) { |
261 return m_pFontMap->GetWordFontIndex(word, charset, nFontIndex); | 261 return m_pFontMap->GetWordFontIndex(word, charset, nFontIndex); |
262 } | 262 } |
263 | 263 |
264 int32_t CFX_Edit_Provider::GetDefaultFontIndex() { | 264 int32_t CFX_Edit_Provider::GetDefaultFontIndex() { |
265 return 0; | 265 return 0; |
266 } | 266 } |
267 | 267 |
268 FX_BOOL CFX_Edit_Provider::IsLatinWord(uint16_t word) { | 268 bool CFX_Edit_Provider::IsLatinWord(uint16_t word) { |
269 return FX_EDIT_ISLATINWORD(word); | 269 return FX_EDIT_ISLATINWORD(word); |
270 } | 270 } |
271 | 271 |
272 CFX_Edit_Refresh::CFX_Edit_Refresh() {} | 272 CFX_Edit_Refresh::CFX_Edit_Refresh() {} |
273 | 273 |
274 CFX_Edit_Refresh::~CFX_Edit_Refresh() {} | 274 CFX_Edit_Refresh::~CFX_Edit_Refresh() {} |
275 | 275 |
276 void CFX_Edit_Refresh::BeginRefresh() { | 276 void CFX_Edit_Refresh::BeginRefresh() { |
277 m_RefreshRects.Empty(); | 277 m_RefreshRects.Empty(); |
278 m_OldLineRects = m_NewLineRects; | 278 m_OldLineRects = m_NewLineRects; |
(...skipping 26 matching lines...) Expand all Loading... |
305 return &m_RefreshRects; | 305 return &m_RefreshRects; |
306 } | 306 } |
307 | 307 |
308 void CFX_Edit_Refresh::EndRefresh() { | 308 void CFX_Edit_Refresh::EndRefresh() { |
309 m_RefreshRects.Empty(); | 309 m_RefreshRects.Empty(); |
310 } | 310 } |
311 | 311 |
312 CFX_Edit_Undo::CFX_Edit_Undo(int32_t nBufsize) | 312 CFX_Edit_Undo::CFX_Edit_Undo(int32_t nBufsize) |
313 : m_nCurUndoPos(0), | 313 : m_nCurUndoPos(0), |
314 m_nBufSize(nBufsize), | 314 m_nBufSize(nBufsize), |
315 m_bModified(FALSE), | 315 m_bModified(false), |
316 m_bVirgin(TRUE), | 316 m_bVirgin(true), |
317 m_bWorking(FALSE) {} | 317 m_bWorking(false) {} |
318 | 318 |
319 CFX_Edit_Undo::~CFX_Edit_Undo() { | 319 CFX_Edit_Undo::~CFX_Edit_Undo() { |
320 Reset(); | 320 Reset(); |
321 } | 321 } |
322 | 322 |
323 FX_BOOL CFX_Edit_Undo::CanUndo() const { | 323 bool CFX_Edit_Undo::CanUndo() const { |
324 return m_nCurUndoPos > 0; | 324 return m_nCurUndoPos > 0; |
325 } | 325 } |
326 | 326 |
327 void CFX_Edit_Undo::Undo() { | 327 void CFX_Edit_Undo::Undo() { |
328 m_bWorking = TRUE; | 328 m_bWorking = true; |
329 | 329 |
330 if (m_nCurUndoPos > 0) { | 330 if (m_nCurUndoPos > 0) { |
331 IFX_Edit_UndoItem* pItem = m_UndoItemStack.GetAt(m_nCurUndoPos - 1); | 331 IFX_Edit_UndoItem* pItem = m_UndoItemStack.GetAt(m_nCurUndoPos - 1); |
332 pItem->Undo(); | 332 pItem->Undo(); |
333 | 333 |
334 m_nCurUndoPos--; | 334 m_nCurUndoPos--; |
335 m_bModified = (m_nCurUndoPos != 0); | 335 m_bModified = (m_nCurUndoPos != 0); |
336 } | 336 } |
337 | 337 |
338 m_bWorking = FALSE; | 338 m_bWorking = false; |
339 } | 339 } |
340 | 340 |
341 FX_BOOL CFX_Edit_Undo::CanRedo() const { | 341 bool CFX_Edit_Undo::CanRedo() const { |
342 return m_nCurUndoPos < m_UndoItemStack.GetSize(); | 342 return m_nCurUndoPos < m_UndoItemStack.GetSize(); |
343 } | 343 } |
344 | 344 |
345 void CFX_Edit_Undo::Redo() { | 345 void CFX_Edit_Undo::Redo() { |
346 m_bWorking = TRUE; | 346 m_bWorking = true; |
347 | 347 |
348 int32_t nStackSize = m_UndoItemStack.GetSize(); | 348 int32_t nStackSize = m_UndoItemStack.GetSize(); |
349 | 349 |
350 if (m_nCurUndoPos < nStackSize) { | 350 if (m_nCurUndoPos < nStackSize) { |
351 IFX_Edit_UndoItem* pItem = m_UndoItemStack.GetAt(m_nCurUndoPos); | 351 IFX_Edit_UndoItem* pItem = m_UndoItemStack.GetAt(m_nCurUndoPos); |
352 pItem->Redo(); | 352 pItem->Redo(); |
353 | 353 |
354 m_nCurUndoPos++; | 354 m_nCurUndoPos++; |
355 m_bModified = (m_nCurUndoPos != 0); | 355 m_bModified = (m_nCurUndoPos != 0); |
356 } | 356 } |
357 | 357 |
358 m_bWorking = FALSE; | 358 m_bWorking = false; |
359 } | 359 } |
360 | 360 |
361 void CFX_Edit_Undo::AddItem(IFX_Edit_UndoItem* pItem) { | 361 void CFX_Edit_Undo::AddItem(IFX_Edit_UndoItem* pItem) { |
362 ASSERT(!m_bWorking); | 362 ASSERT(!m_bWorking); |
363 ASSERT(pItem); | 363 ASSERT(pItem); |
364 ASSERT(m_nBufSize > 1); | 364 ASSERT(m_nBufSize > 1); |
365 | 365 |
366 if (m_nCurUndoPos < m_UndoItemStack.GetSize()) | 366 if (m_nCurUndoPos < m_UndoItemStack.GetSize()) |
367 RemoveTails(); | 367 RemoveTails(); |
368 | 368 |
369 if (m_UndoItemStack.GetSize() >= m_nBufSize) { | 369 if (m_UndoItemStack.GetSize() >= m_nBufSize) { |
370 RemoveHeads(); | 370 RemoveHeads(); |
371 m_bVirgin = FALSE; | 371 m_bVirgin = false; |
372 } | 372 } |
373 | 373 |
374 m_UndoItemStack.Add(pItem); | 374 m_UndoItemStack.Add(pItem); |
375 m_nCurUndoPos = m_UndoItemStack.GetSize(); | 375 m_nCurUndoPos = m_UndoItemStack.GetSize(); |
376 | 376 |
377 m_bModified = (m_nCurUndoPos != 0); | 377 m_bModified = (m_nCurUndoPos != 0); |
378 } | 378 } |
379 | 379 |
380 FX_BOOL CFX_Edit_Undo::IsModified() const { | 380 bool CFX_Edit_Undo::IsModified() const { |
381 return m_bVirgin ? m_bModified : TRUE; | 381 return m_bVirgin ? m_bModified : true; |
382 } | 382 } |
383 | 383 |
384 void CFX_Edit_Undo::RemoveHeads() { | 384 void CFX_Edit_Undo::RemoveHeads() { |
385 ASSERT(m_UndoItemStack.GetSize() > 1); | 385 ASSERT(m_UndoItemStack.GetSize() > 1); |
386 | 386 |
387 delete m_UndoItemStack.GetAt(0); | 387 delete m_UndoItemStack.GetAt(0); |
388 m_UndoItemStack.RemoveAt(0); | 388 m_UndoItemStack.RemoveAt(0); |
389 } | 389 } |
390 | 390 |
391 void CFX_Edit_Undo::RemoveTails() { | 391 void CFX_Edit_Undo::RemoveTails() { |
392 for (int32_t i = m_UndoItemStack.GetSize() - 1; i >= m_nCurUndoPos; i--) { | 392 for (int32_t i = m_UndoItemStack.GetSize() - 1; i >= m_nCurUndoPos; i--) { |
393 delete m_UndoItemStack.GetAt(i); | 393 delete m_UndoItemStack.GetAt(i); |
394 m_UndoItemStack.RemoveAt(i); | 394 m_UndoItemStack.RemoveAt(i); |
395 } | 395 } |
396 } | 396 } |
397 | 397 |
398 void CFX_Edit_Undo::Reset() { | 398 void CFX_Edit_Undo::Reset() { |
399 for (int32_t i = 0, sz = m_UndoItemStack.GetSize(); i < sz; i++) { | 399 for (int32_t i = 0, sz = m_UndoItemStack.GetSize(); i < sz; i++) { |
400 delete m_UndoItemStack.GetAt(i); | 400 delete m_UndoItemStack.GetAt(i); |
401 } | 401 } |
402 m_nCurUndoPos = 0; | 402 m_nCurUndoPos = 0; |
403 m_UndoItemStack.RemoveAll(); | 403 m_UndoItemStack.RemoveAll(); |
404 } | 404 } |
405 | 405 |
406 CFX_Edit_UndoItem::CFX_Edit_UndoItem() : m_bFirst(TRUE), m_bLast(TRUE) {} | 406 CFX_Edit_UndoItem::CFX_Edit_UndoItem() : m_bFirst(true), m_bLast(true) {} |
407 | 407 |
408 CFX_Edit_UndoItem::~CFX_Edit_UndoItem() {} | 408 CFX_Edit_UndoItem::~CFX_Edit_UndoItem() {} |
409 | 409 |
410 CFX_WideString CFX_Edit_UndoItem::GetUndoTitle() { | 410 CFX_WideString CFX_Edit_UndoItem::GetUndoTitle() { |
411 return L""; | 411 return L""; |
412 } | 412 } |
413 | 413 |
414 void CFX_Edit_UndoItem::SetFirst(FX_BOOL bFirst) { | 414 void CFX_Edit_UndoItem::SetFirst(bool bFirst) { |
415 m_bFirst = bFirst; | 415 m_bFirst = bFirst; |
416 } | 416 } |
417 | 417 |
418 void CFX_Edit_UndoItem::SetLast(FX_BOOL bLast) { | 418 void CFX_Edit_UndoItem::SetLast(bool bLast) { |
419 m_bLast = bLast; | 419 m_bLast = bLast; |
420 } | 420 } |
421 | 421 |
422 FX_BOOL CFX_Edit_UndoItem::IsLast() { | 422 bool CFX_Edit_UndoItem::IsLast() { |
423 return m_bLast; | 423 return m_bLast; |
424 } | 424 } |
425 | 425 |
426 CFX_Edit_GroupUndoItem::CFX_Edit_GroupUndoItem(const CFX_WideString& sTitle) | 426 CFX_Edit_GroupUndoItem::CFX_Edit_GroupUndoItem(const CFX_WideString& sTitle) |
427 : m_sTitle(sTitle) {} | 427 : m_sTitle(sTitle) {} |
428 | 428 |
429 CFX_Edit_GroupUndoItem::~CFX_Edit_GroupUndoItem() { | 429 CFX_Edit_GroupUndoItem::~CFX_Edit_GroupUndoItem() { |
430 for (int i = 0, sz = m_Items.GetSize(); i < sz; i++) { | 430 for (int i = 0, sz = m_Items.GetSize(); i < sz; i++) { |
431 delete m_Items[i]; | 431 delete m_Items[i]; |
432 } | 432 } |
433 | 433 |
434 m_Items.RemoveAll(); | 434 m_Items.RemoveAll(); |
435 } | 435 } |
436 | 436 |
437 void CFX_Edit_GroupUndoItem::AddUndoItem(CFX_Edit_UndoItem* pUndoItem) { | 437 void CFX_Edit_GroupUndoItem::AddUndoItem(CFX_Edit_UndoItem* pUndoItem) { |
438 pUndoItem->SetFirst(FALSE); | 438 pUndoItem->SetFirst(false); |
439 pUndoItem->SetLast(FALSE); | 439 pUndoItem->SetLast(false); |
440 | 440 |
441 m_Items.Add(pUndoItem); | 441 m_Items.Add(pUndoItem); |
442 | 442 |
443 if (m_sTitle.IsEmpty()) | 443 if (m_sTitle.IsEmpty()) |
444 m_sTitle = pUndoItem->GetUndoTitle(); | 444 m_sTitle = pUndoItem->GetUndoTitle(); |
445 } | 445 } |
446 | 446 |
447 void CFX_Edit_GroupUndoItem::UpdateItems() { | 447 void CFX_Edit_GroupUndoItem::UpdateItems() { |
448 if (m_Items.GetSize() > 0) { | 448 if (m_Items.GetSize() > 0) { |
449 CFX_Edit_UndoItem* pFirstItem = m_Items[0]; | 449 CFX_Edit_UndoItem* pFirstItem = m_Items[0]; |
450 pFirstItem->SetFirst(TRUE); | 450 pFirstItem->SetFirst(true); |
451 | 451 |
452 CFX_Edit_UndoItem* pLastItem = m_Items[m_Items.GetSize() - 1]; | 452 CFX_Edit_UndoItem* pLastItem = m_Items[m_Items.GetSize() - 1]; |
453 pLastItem->SetLast(TRUE); | 453 pLastItem->SetLast(true); |
454 } | 454 } |
455 } | 455 } |
456 | 456 |
457 void CFX_Edit_GroupUndoItem::Undo() { | 457 void CFX_Edit_GroupUndoItem::Undo() { |
458 for (int i = m_Items.GetSize() - 1; i >= 0; i--) { | 458 for (int i = m_Items.GetSize() - 1; i >= 0; i--) { |
459 CFX_Edit_UndoItem* pUndoItem = m_Items[i]; | 459 CFX_Edit_UndoItem* pUndoItem = m_Items[i]; |
460 pUndoItem->Undo(); | 460 pUndoItem->Undo(); |
461 } | 461 } |
462 } | 462 } |
463 | 463 |
(...skipping 23 matching lines...) Expand all Loading... |
487 if (pWordProps) | 487 if (pWordProps) |
488 m_WordProps = *pWordProps; | 488 m_WordProps = *pWordProps; |
489 } | 489 } |
490 | 490 |
491 CFXEU_InsertWord::~CFXEU_InsertWord() {} | 491 CFXEU_InsertWord::~CFXEU_InsertWord() {} |
492 | 492 |
493 void CFXEU_InsertWord::Redo() { | 493 void CFXEU_InsertWord::Redo() { |
494 if (m_pEdit) { | 494 if (m_pEdit) { |
495 m_pEdit->SelectNone(); | 495 m_pEdit->SelectNone(); |
496 m_pEdit->SetCaret(m_wpOld); | 496 m_pEdit->SetCaret(m_wpOld); |
497 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); | 497 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, false, true); |
498 } | 498 } |
499 } | 499 } |
500 | 500 |
501 void CFXEU_InsertWord::Undo() { | 501 void CFXEU_InsertWord::Undo() { |
502 if (m_pEdit) { | 502 if (m_pEdit) { |
503 m_pEdit->SelectNone(); | 503 m_pEdit->SelectNone(); |
504 m_pEdit->SetCaret(m_wpNew); | 504 m_pEdit->SetCaret(m_wpNew); |
505 m_pEdit->Backspace(FALSE, TRUE); | 505 m_pEdit->Backspace(false, true); |
506 } | 506 } |
507 } | 507 } |
508 | 508 |
509 CFXEU_InsertReturn::CFXEU_InsertReturn(CFX_Edit* pEdit, | 509 CFXEU_InsertReturn::CFXEU_InsertReturn(CFX_Edit* pEdit, |
510 const CPVT_WordPlace& wpOldPlace, | 510 const CPVT_WordPlace& wpOldPlace, |
511 const CPVT_WordPlace& wpNewPlace, | 511 const CPVT_WordPlace& wpNewPlace, |
512 const CPVT_SecProps* pSecProps, | 512 const CPVT_SecProps* pSecProps, |
513 const CPVT_WordProps* pWordProps) | 513 const CPVT_WordProps* pWordProps) |
514 : m_pEdit(pEdit), | 514 : m_pEdit(pEdit), |
515 m_wpOld(wpOldPlace), | 515 m_wpOld(wpOldPlace), |
516 m_wpNew(wpNewPlace), | 516 m_wpNew(wpNewPlace), |
517 m_SecProps(), | 517 m_SecProps(), |
518 m_WordProps() { | 518 m_WordProps() { |
519 if (pSecProps) | 519 if (pSecProps) |
520 m_SecProps = *pSecProps; | 520 m_SecProps = *pSecProps; |
521 if (pWordProps) | 521 if (pWordProps) |
522 m_WordProps = *pWordProps; | 522 m_WordProps = *pWordProps; |
523 } | 523 } |
524 | 524 |
525 CFXEU_InsertReturn::~CFXEU_InsertReturn() {} | 525 CFXEU_InsertReturn::~CFXEU_InsertReturn() {} |
526 | 526 |
527 void CFXEU_InsertReturn::Redo() { | 527 void CFXEU_InsertReturn::Redo() { |
528 if (m_pEdit) { | 528 if (m_pEdit) { |
529 m_pEdit->SelectNone(); | 529 m_pEdit->SelectNone(); |
530 m_pEdit->SetCaret(m_wpOld); | 530 m_pEdit->SetCaret(m_wpOld); |
531 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); | 531 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, false, true); |
532 } | 532 } |
533 } | 533 } |
534 | 534 |
535 void CFXEU_InsertReturn::Undo() { | 535 void CFXEU_InsertReturn::Undo() { |
536 if (m_pEdit) { | 536 if (m_pEdit) { |
537 m_pEdit->SelectNone(); | 537 m_pEdit->SelectNone(); |
538 m_pEdit->SetCaret(m_wpNew); | 538 m_pEdit->SetCaret(m_wpNew); |
539 m_pEdit->Backspace(FALSE, TRUE); | 539 m_pEdit->Backspace(false, true); |
540 } | 540 } |
541 } | 541 } |
542 | 542 |
543 CFXEU_Backspace::CFXEU_Backspace(CFX_Edit* pEdit, | 543 CFXEU_Backspace::CFXEU_Backspace(CFX_Edit* pEdit, |
544 const CPVT_WordPlace& wpOldPlace, | 544 const CPVT_WordPlace& wpOldPlace, |
545 const CPVT_WordPlace& wpNewPlace, | 545 const CPVT_WordPlace& wpNewPlace, |
546 uint16_t word, | 546 uint16_t word, |
547 int32_t charset, | 547 int32_t charset, |
548 const CPVT_SecProps& SecProps, | 548 const CPVT_SecProps& SecProps, |
549 const CPVT_WordProps& WordProps) | 549 const CPVT_WordProps& WordProps) |
550 : m_pEdit(pEdit), | 550 : m_pEdit(pEdit), |
551 m_wpOld(wpOldPlace), | 551 m_wpOld(wpOldPlace), |
552 m_wpNew(wpNewPlace), | 552 m_wpNew(wpNewPlace), |
553 m_Word(word), | 553 m_Word(word), |
554 m_nCharset(charset), | 554 m_nCharset(charset), |
555 m_SecProps(SecProps), | 555 m_SecProps(SecProps), |
556 m_WordProps(WordProps) {} | 556 m_WordProps(WordProps) {} |
557 | 557 |
558 CFXEU_Backspace::~CFXEU_Backspace() {} | 558 CFXEU_Backspace::~CFXEU_Backspace() {} |
559 | 559 |
560 void CFXEU_Backspace::Redo() { | 560 void CFXEU_Backspace::Redo() { |
561 if (m_pEdit) { | 561 if (m_pEdit) { |
562 m_pEdit->SelectNone(); | 562 m_pEdit->SelectNone(); |
563 m_pEdit->SetCaret(m_wpOld); | 563 m_pEdit->SetCaret(m_wpOld); |
564 m_pEdit->Backspace(FALSE, TRUE); | 564 m_pEdit->Backspace(false, true); |
565 } | 565 } |
566 } | 566 } |
567 | 567 |
568 void CFXEU_Backspace::Undo() { | 568 void CFXEU_Backspace::Undo() { |
569 if (m_pEdit) { | 569 if (m_pEdit) { |
570 m_pEdit->SelectNone(); | 570 m_pEdit->SelectNone(); |
571 m_pEdit->SetCaret(m_wpNew); | 571 m_pEdit->SetCaret(m_wpNew); |
572 if (m_wpNew.SecCmp(m_wpOld) != 0) { | 572 if (m_wpNew.SecCmp(m_wpOld) != 0) { |
573 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); | 573 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, false, true); |
574 } else { | 574 } else { |
575 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); | 575 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, false, true); |
576 } | 576 } |
577 } | 577 } |
578 } | 578 } |
579 | 579 |
580 CFXEU_Delete::CFXEU_Delete(CFX_Edit* pEdit, | 580 CFXEU_Delete::CFXEU_Delete(CFX_Edit* pEdit, |
581 const CPVT_WordPlace& wpOldPlace, | 581 const CPVT_WordPlace& wpOldPlace, |
582 const CPVT_WordPlace& wpNewPlace, | 582 const CPVT_WordPlace& wpNewPlace, |
583 uint16_t word, | 583 uint16_t word, |
584 int32_t charset, | 584 int32_t charset, |
585 const CPVT_SecProps& SecProps, | 585 const CPVT_SecProps& SecProps, |
586 const CPVT_WordProps& WordProps, | 586 const CPVT_WordProps& WordProps, |
587 FX_BOOL bSecEnd) | 587 bool bSecEnd) |
588 : m_pEdit(pEdit), | 588 : m_pEdit(pEdit), |
589 m_wpOld(wpOldPlace), | 589 m_wpOld(wpOldPlace), |
590 m_wpNew(wpNewPlace), | 590 m_wpNew(wpNewPlace), |
591 m_Word(word), | 591 m_Word(word), |
592 m_nCharset(charset), | 592 m_nCharset(charset), |
593 m_SecProps(SecProps), | 593 m_SecProps(SecProps), |
594 m_WordProps(WordProps), | 594 m_WordProps(WordProps), |
595 m_bSecEnd(bSecEnd) {} | 595 m_bSecEnd(bSecEnd) {} |
596 | 596 |
597 CFXEU_Delete::~CFXEU_Delete() {} | 597 CFXEU_Delete::~CFXEU_Delete() {} |
598 | 598 |
599 void CFXEU_Delete::Redo() { | 599 void CFXEU_Delete::Redo() { |
600 if (m_pEdit) { | 600 if (m_pEdit) { |
601 m_pEdit->SelectNone(); | 601 m_pEdit->SelectNone(); |
602 m_pEdit->SetCaret(m_wpOld); | 602 m_pEdit->SetCaret(m_wpOld); |
603 m_pEdit->Delete(FALSE, TRUE); | 603 m_pEdit->Delete(false, true); |
604 } | 604 } |
605 } | 605 } |
606 | 606 |
607 void CFXEU_Delete::Undo() { | 607 void CFXEU_Delete::Undo() { |
608 if (m_pEdit) { | 608 if (m_pEdit) { |
609 m_pEdit->SelectNone(); | 609 m_pEdit->SelectNone(); |
610 m_pEdit->SetCaret(m_wpNew); | 610 m_pEdit->SetCaret(m_wpNew); |
611 if (m_bSecEnd) { | 611 if (m_bSecEnd) { |
612 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); | 612 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, false, true); |
613 } else { | 613 } else { |
614 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); | 614 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, false, true); |
615 } | 615 } |
616 } | 616 } |
617 } | 617 } |
618 | 618 |
619 CFXEU_Clear::CFXEU_Clear(CFX_Edit* pEdit, | 619 CFXEU_Clear::CFXEU_Clear(CFX_Edit* pEdit, |
620 const CPVT_WordRange& wrSel, | 620 const CPVT_WordRange& wrSel, |
621 const CFX_WideString& swText) | 621 const CFX_WideString& swText) |
622 : m_pEdit(pEdit), m_wrSel(wrSel), m_swText(swText) {} | 622 : m_pEdit(pEdit), m_wrSel(wrSel), m_swText(swText) {} |
623 | 623 |
624 CFXEU_Clear::~CFXEU_Clear() {} | 624 CFXEU_Clear::~CFXEU_Clear() {} |
625 | 625 |
626 void CFXEU_Clear::Redo() { | 626 void CFXEU_Clear::Redo() { |
627 if (m_pEdit) { | 627 if (m_pEdit) { |
628 m_pEdit->SelectNone(); | 628 m_pEdit->SelectNone(); |
629 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); | 629 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); |
630 m_pEdit->Clear(FALSE, TRUE); | 630 m_pEdit->Clear(false, true); |
631 } | 631 } |
632 } | 632 } |
633 | 633 |
634 void CFXEU_Clear::Undo() { | 634 void CFXEU_Clear::Undo() { |
635 if (m_pEdit) { | 635 if (m_pEdit) { |
636 m_pEdit->SelectNone(); | 636 m_pEdit->SelectNone(); |
637 m_pEdit->SetCaret(m_wrSel.BeginPos); | 637 m_pEdit->SetCaret(m_wrSel.BeginPos); |
638 m_pEdit->InsertText(m_swText, FXFONT_DEFAULT_CHARSET, FALSE, TRUE); | 638 m_pEdit->InsertText(m_swText, FXFONT_DEFAULT_CHARSET, false, true); |
639 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); | 639 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); |
640 } | 640 } |
641 } | 641 } |
642 | 642 |
643 CFXEU_InsertText::CFXEU_InsertText(CFX_Edit* pEdit, | 643 CFXEU_InsertText::CFXEU_InsertText(CFX_Edit* pEdit, |
644 const CPVT_WordPlace& wpOldPlace, | 644 const CPVT_WordPlace& wpOldPlace, |
645 const CPVT_WordPlace& wpNewPlace, | 645 const CPVT_WordPlace& wpNewPlace, |
646 const CFX_WideString& swText, | 646 const CFX_WideString& swText, |
647 int32_t charset) | 647 int32_t charset) |
648 : m_pEdit(pEdit), | 648 : m_pEdit(pEdit), |
649 m_wpOld(wpOldPlace), | 649 m_wpOld(wpOldPlace), |
650 m_wpNew(wpNewPlace), | 650 m_wpNew(wpNewPlace), |
651 m_swText(swText), | 651 m_swText(swText), |
652 m_nCharset(charset) {} | 652 m_nCharset(charset) {} |
653 | 653 |
654 CFXEU_InsertText::~CFXEU_InsertText() {} | 654 CFXEU_InsertText::~CFXEU_InsertText() {} |
655 | 655 |
656 void CFXEU_InsertText::Redo() { | 656 void CFXEU_InsertText::Redo() { |
657 if (m_pEdit && IsLast()) { | 657 if (m_pEdit && IsLast()) { |
658 m_pEdit->SelectNone(); | 658 m_pEdit->SelectNone(); |
659 m_pEdit->SetCaret(m_wpOld); | 659 m_pEdit->SetCaret(m_wpOld); |
660 m_pEdit->InsertText(m_swText, m_nCharset, FALSE, TRUE); | 660 m_pEdit->InsertText(m_swText, m_nCharset, false, true); |
661 } | 661 } |
662 } | 662 } |
663 | 663 |
664 void CFXEU_InsertText::Undo() { | 664 void CFXEU_InsertText::Undo() { |
665 if (m_pEdit) { | 665 if (m_pEdit) { |
666 m_pEdit->SelectNone(); | 666 m_pEdit->SelectNone(); |
667 m_pEdit->SetSel(m_wpOld, m_wpNew); | 667 m_pEdit->SetSel(m_wpOld, m_wpNew); |
668 m_pEdit->Clear(FALSE, TRUE); | 668 m_pEdit->Clear(false, true); |
669 } | 669 } |
670 } | 670 } |
671 | 671 |
672 // static | 672 // static |
673 CFX_ByteString CFX_Edit::GetEditAppearanceStream(CFX_Edit* pEdit, | 673 CFX_ByteString CFX_Edit::GetEditAppearanceStream(CFX_Edit* pEdit, |
674 const CFX_FloatPoint& ptOffset, | 674 const CFX_FloatPoint& ptOffset, |
675 const CPVT_WordRange* pRange, | 675 const CPVT_WordRange* pRange, |
676 FX_BOOL bContinuous, | 676 bool bContinuous, |
677 uint16_t SubWord) { | 677 uint16_t SubWord) { |
678 CFX_Edit_Iterator* pIterator = pEdit->GetIterator(); | 678 CFX_Edit_Iterator* pIterator = pEdit->GetIterator(); |
679 if (pRange) | 679 if (pRange) |
680 pIterator->SetAt(pRange->BeginPos); | 680 pIterator->SetAt(pRange->BeginPos); |
681 else | 681 else |
682 pIterator->SetAt(0); | 682 pIterator->SetAt(0); |
683 | 683 |
684 CFX_ByteTextBuf sEditStream; | 684 CFX_ByteTextBuf sEditStream; |
685 CFX_ByteTextBuf sWords; | 685 CFX_ByteTextBuf sWords; |
686 int32_t nCurFontIndex = -1; | 686 int32_t nCurFontIndex = -1; |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 const bool bContinuous = | 826 const bool bContinuous = |
827 pEdit->GetCharArray() == 0 && pEdit->GetCharSpace() <= 0.0f; | 827 pEdit->GetCharArray() == 0 && pEdit->GetCharSpace() <= 0.0f; |
828 uint16_t SubWord = pEdit->GetPasswordChar(); | 828 uint16_t SubWord = pEdit->GetPasswordChar(); |
829 FX_FLOAT fFontSize = pEdit->GetFontSize(); | 829 FX_FLOAT fFontSize = pEdit->GetFontSize(); |
830 CPVT_WordRange wrSelect = pEdit->GetSelectWordRange(); | 830 CPVT_WordRange wrSelect = pEdit->GetSelectWordRange(); |
831 int32_t nHorzScale = pEdit->GetHorzScale(); | 831 int32_t nHorzScale = pEdit->GetHorzScale(); |
832 | 832 |
833 FX_COLORREF crCurFill = crTextFill; | 833 FX_COLORREF crCurFill = crTextFill; |
834 FX_COLORREF crOldFill = crCurFill; | 834 FX_COLORREF crOldFill = crCurFill; |
835 | 835 |
836 FX_BOOL bSelect = FALSE; | 836 bool bSelect = false; |
837 const FX_COLORREF crWhite = ArgbEncode(255, 255, 255, 255); | 837 const FX_COLORREF crWhite = ArgbEncode(255, 255, 255, 255); |
838 const FX_COLORREF crSelBK = ArgbEncode(255, 0, 51, 113); | 838 const FX_COLORREF crSelBK = ArgbEncode(255, 0, 51, 113); |
839 | 839 |
840 CFX_ByteTextBuf sTextBuf; | 840 CFX_ByteTextBuf sTextBuf; |
841 int32_t nFontIndex = -1; | 841 int32_t nFontIndex = -1; |
842 CFX_FloatPoint ptBT; | 842 CFX_FloatPoint ptBT; |
843 pDevice->SaveState(); | 843 pDevice->SaveState(); |
844 if (!rcClip.IsEmpty()) { | 844 if (!rcClip.IsEmpty()) { |
845 CFX_FloatRect rcTemp = rcClip; | 845 CFX_FloatRect rcTemp = rcClip; |
846 pUser2Device->TransformRect(rcTemp); | 846 pUser2Device->TransformRect(rcTemp); |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
998 } | 998 } |
999 } | 999 } |
1000 | 1000 |
1001 CFX_Edit::CFX_Edit() | 1001 CFX_Edit::CFX_Edit() |
1002 : m_pVT(new CPDF_VariableText), | 1002 : m_pVT(new CPDF_VariableText), |
1003 m_pNotify(nullptr), | 1003 m_pNotify(nullptr), |
1004 m_pOprNotify(nullptr), | 1004 m_pOprNotify(nullptr), |
1005 m_wpCaret(-1, -1, -1), | 1005 m_wpCaret(-1, -1, -1), |
1006 m_wpOldCaret(-1, -1, -1), | 1006 m_wpOldCaret(-1, -1, -1), |
1007 m_SelState(), | 1007 m_SelState(), |
1008 m_bEnableScroll(FALSE), | 1008 m_bEnableScroll(false), |
1009 m_Undo(kEditUndoMaxItems), | 1009 m_Undo(kEditUndoMaxItems), |
1010 m_nAlignment(0), | 1010 m_nAlignment(0), |
1011 m_bNotifyFlag(FALSE), | 1011 m_bNotifyFlag(false), |
1012 m_bEnableOverflow(FALSE), | 1012 m_bEnableOverflow(false), |
1013 m_bEnableRefresh(TRUE), | 1013 m_bEnableRefresh(true), |
1014 m_rcOldContent(0.0f, 0.0f, 0.0f, 0.0f), | 1014 m_rcOldContent(0.0f, 0.0f, 0.0f, 0.0f), |
1015 m_bEnableUndo(TRUE), | 1015 m_bEnableUndo(true), |
1016 m_bOprNotify(FALSE), | 1016 m_bOprNotify(false), |
1017 m_pGroupUndoItem(nullptr) {} | 1017 m_pGroupUndoItem(nullptr) {} |
1018 | 1018 |
1019 CFX_Edit::~CFX_Edit() { | 1019 CFX_Edit::~CFX_Edit() { |
1020 ASSERT(!m_pGroupUndoItem); | 1020 ASSERT(!m_pGroupUndoItem); |
1021 } | 1021 } |
1022 | 1022 |
1023 void CFX_Edit::Initialize() { | 1023 void CFX_Edit::Initialize() { |
1024 m_pVT->Initialize(); | 1024 m_pVT->Initialize(); |
1025 SetCaret(m_pVT->GetBeginWordPlace()); | 1025 SetCaret(m_pVT->GetBeginWordPlace()); |
1026 SetCaretOrigin(); | 1026 SetCaretOrigin(); |
(...skipping 23 matching lines...) Expand all Loading... |
1050 IPVT_FontMap* CFX_Edit::GetFontMap() { | 1050 IPVT_FontMap* CFX_Edit::GetFontMap() { |
1051 return m_pVTProvider ? m_pVTProvider->GetFontMap() : nullptr; | 1051 return m_pVTProvider ? m_pVTProvider->GetFontMap() : nullptr; |
1052 } | 1052 } |
1053 | 1053 |
1054 void CFX_Edit::SetPlateRect(const CFX_FloatRect& rect) { | 1054 void CFX_Edit::SetPlateRect(const CFX_FloatRect& rect) { |
1055 m_pVT->SetPlateRect(rect); | 1055 m_pVT->SetPlateRect(rect); |
1056 m_ptScrollPos = CFX_FloatPoint(rect.left, rect.top); | 1056 m_ptScrollPos = CFX_FloatPoint(rect.left, rect.top); |
1057 Paint(); | 1057 Paint(); |
1058 } | 1058 } |
1059 | 1059 |
1060 void CFX_Edit::SetAlignmentH(int32_t nFormat, FX_BOOL bPaint) { | 1060 void CFX_Edit::SetAlignmentH(int32_t nFormat, bool bPaint) { |
1061 m_pVT->SetAlignment(nFormat); | 1061 m_pVT->SetAlignment(nFormat); |
1062 if (bPaint) | 1062 if (bPaint) |
1063 Paint(); | 1063 Paint(); |
1064 } | 1064 } |
1065 | 1065 |
1066 void CFX_Edit::SetAlignmentV(int32_t nFormat, FX_BOOL bPaint) { | 1066 void CFX_Edit::SetAlignmentV(int32_t nFormat, bool bPaint) { |
1067 m_nAlignment = nFormat; | 1067 m_nAlignment = nFormat; |
1068 if (bPaint) | 1068 if (bPaint) |
1069 Paint(); | 1069 Paint(); |
1070 } | 1070 } |
1071 | 1071 |
1072 void CFX_Edit::SetPasswordChar(uint16_t wSubWord, FX_BOOL bPaint) { | 1072 void CFX_Edit::SetPasswordChar(uint16_t wSubWord, bool bPaint) { |
1073 m_pVT->SetPasswordChar(wSubWord); | 1073 m_pVT->SetPasswordChar(wSubWord); |
1074 if (bPaint) | 1074 if (bPaint) |
1075 Paint(); | 1075 Paint(); |
1076 } | 1076 } |
1077 | 1077 |
1078 void CFX_Edit::SetLimitChar(int32_t nLimitChar) { | 1078 void CFX_Edit::SetLimitChar(int32_t nLimitChar) { |
1079 m_pVT->SetLimitChar(nLimitChar); | 1079 m_pVT->SetLimitChar(nLimitChar); |
1080 Paint(); | 1080 Paint(); |
1081 } | 1081 } |
1082 | 1082 |
1083 void CFX_Edit::SetCharArray(int32_t nCharArray) { | 1083 void CFX_Edit::SetCharArray(int32_t nCharArray) { |
1084 m_pVT->SetCharArray(nCharArray); | 1084 m_pVT->SetCharArray(nCharArray); |
1085 Paint(); | 1085 Paint(); |
1086 } | 1086 } |
1087 | 1087 |
1088 void CFX_Edit::SetCharSpace(FX_FLOAT fCharSpace) { | 1088 void CFX_Edit::SetCharSpace(FX_FLOAT fCharSpace) { |
1089 m_pVT->SetCharSpace(fCharSpace); | 1089 m_pVT->SetCharSpace(fCharSpace); |
1090 Paint(); | 1090 Paint(); |
1091 } | 1091 } |
1092 | 1092 |
1093 void CFX_Edit::SetMultiLine(FX_BOOL bMultiLine, FX_BOOL bPaint) { | 1093 void CFX_Edit::SetMultiLine(bool bMultiLine, bool bPaint) { |
1094 m_pVT->SetMultiLine(bMultiLine); | 1094 m_pVT->SetMultiLine(bMultiLine); |
1095 if (bPaint) | 1095 if (bPaint) |
1096 Paint(); | 1096 Paint(); |
1097 } | 1097 } |
1098 | 1098 |
1099 void CFX_Edit::SetAutoReturn(FX_BOOL bAuto, FX_BOOL bPaint) { | 1099 void CFX_Edit::SetAutoReturn(bool bAuto, bool bPaint) { |
1100 m_pVT->SetAutoReturn(bAuto); | 1100 m_pVT->SetAutoReturn(bAuto); |
1101 if (bPaint) | 1101 if (bPaint) |
1102 Paint(); | 1102 Paint(); |
1103 } | 1103 } |
1104 | 1104 |
1105 void CFX_Edit::SetAutoFontSize(FX_BOOL bAuto, FX_BOOL bPaint) { | 1105 void CFX_Edit::SetAutoFontSize(bool bAuto, bool bPaint) { |
1106 m_pVT->SetAutoFontSize(bAuto); | 1106 m_pVT->SetAutoFontSize(bAuto); |
1107 if (bPaint) | 1107 if (bPaint) |
1108 Paint(); | 1108 Paint(); |
1109 } | 1109 } |
1110 | 1110 |
1111 void CFX_Edit::SetFontSize(FX_FLOAT fFontSize) { | 1111 void CFX_Edit::SetFontSize(FX_FLOAT fFontSize) { |
1112 m_pVT->SetFontSize(fFontSize); | 1112 m_pVT->SetFontSize(fFontSize); |
1113 Paint(); | 1113 Paint(); |
1114 } | 1114 } |
1115 | 1115 |
1116 void CFX_Edit::SetAutoScroll(FX_BOOL bAuto, FX_BOOL bPaint) { | 1116 void CFX_Edit::SetAutoScroll(bool bAuto, bool bPaint) { |
1117 m_bEnableScroll = bAuto; | 1117 m_bEnableScroll = bAuto; |
1118 if (bPaint) | 1118 if (bPaint) |
1119 Paint(); | 1119 Paint(); |
1120 } | 1120 } |
1121 | 1121 |
1122 void CFX_Edit::SetTextOverflow(FX_BOOL bAllowed, FX_BOOL bPaint) { | 1122 void CFX_Edit::SetTextOverflow(bool bAllowed, bool bPaint) { |
1123 m_bEnableOverflow = bAllowed; | 1123 m_bEnableOverflow = bAllowed; |
1124 if (bPaint) | 1124 if (bPaint) |
1125 Paint(); | 1125 Paint(); |
1126 } | 1126 } |
1127 | 1127 |
1128 void CFX_Edit::SetSel(int32_t nStartChar, int32_t nEndChar) { | 1128 void CFX_Edit::SetSel(int32_t nStartChar, int32_t nEndChar) { |
1129 if (m_pVT->IsValid()) { | 1129 if (m_pVT->IsValid()) { |
1130 if (nStartChar == 0 && nEndChar < 0) { | 1130 if (nStartChar == 0 && nEndChar < 0) { |
1131 SelectAll(); | 1131 SelectAll(); |
1132 } else if (nStartChar < 0) { | 1132 } else if (nStartChar < 0) { |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 CPVT_WordRange CFX_Edit::GetSelectWordRange() const { | 1272 CPVT_WordRange CFX_Edit::GetSelectWordRange() const { |
1273 return m_SelState.ConvertToWordRange(); | 1273 return m_SelState.ConvertToWordRange(); |
1274 } | 1274 } |
1275 | 1275 |
1276 void CFX_Edit::SetText(const CFX_WideString& sText) { | 1276 void CFX_Edit::SetText(const CFX_WideString& sText) { |
1277 Empty(); | 1277 Empty(); |
1278 DoInsertText(CPVT_WordPlace(0, 0, -1), sText, FXFONT_DEFAULT_CHARSET); | 1278 DoInsertText(CPVT_WordPlace(0, 0, -1), sText, FXFONT_DEFAULT_CHARSET); |
1279 Paint(); | 1279 Paint(); |
1280 } | 1280 } |
1281 | 1281 |
1282 FX_BOOL CFX_Edit::InsertWord(uint16_t word, int32_t charset) { | 1282 bool CFX_Edit::InsertWord(uint16_t word, int32_t charset) { |
1283 return InsertWord(word, charset, nullptr, TRUE, TRUE); | 1283 return InsertWord(word, charset, nullptr, true, true); |
1284 } | 1284 } |
1285 | 1285 |
1286 FX_BOOL CFX_Edit::InsertReturn() { | 1286 bool CFX_Edit::InsertReturn() { |
1287 return InsertReturn(nullptr, nullptr, TRUE, TRUE); | 1287 return InsertReturn(nullptr, nullptr, true, true); |
1288 } | 1288 } |
1289 | 1289 |
1290 FX_BOOL CFX_Edit::Backspace() { | 1290 bool CFX_Edit::Backspace() { |
1291 return Backspace(TRUE, TRUE); | 1291 return Backspace(true, true); |
1292 } | 1292 } |
1293 | 1293 |
1294 FX_BOOL CFX_Edit::Delete() { | 1294 bool CFX_Edit::Delete() { |
1295 return Delete(TRUE, TRUE); | 1295 return Delete(true, true); |
1296 } | 1296 } |
1297 | 1297 |
1298 FX_BOOL CFX_Edit::Clear() { | 1298 bool CFX_Edit::Clear() { |
1299 return Clear(TRUE, TRUE); | 1299 return Clear(true, true); |
1300 } | 1300 } |
1301 | 1301 |
1302 FX_BOOL CFX_Edit::InsertText(const CFX_WideString& sText, int32_t charset) { | 1302 bool CFX_Edit::InsertText(const CFX_WideString& sText, int32_t charset) { |
1303 return InsertText(sText, charset, TRUE, TRUE); | 1303 return InsertText(sText, charset, true, true); |
1304 } | 1304 } |
1305 | 1305 |
1306 FX_FLOAT CFX_Edit::GetFontSize() const { | 1306 FX_FLOAT CFX_Edit::GetFontSize() const { |
1307 return m_pVT->GetFontSize(); | 1307 return m_pVT->GetFontSize(); |
1308 } | 1308 } |
1309 | 1309 |
1310 uint16_t CFX_Edit::GetPasswordChar() const { | 1310 uint16_t CFX_Edit::GetPasswordChar() const { |
1311 return m_pVT->GetPasswordChar(); | 1311 return m_pVT->GetPasswordChar(); |
1312 } | 1312 } |
1313 | 1313 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1389 SetContentChanged(); | 1389 SetContentChanged(); |
1390 } | 1390 } |
1391 } | 1391 } |
1392 | 1392 |
1393 void CFX_Edit::SetContentChanged() { | 1393 void CFX_Edit::SetContentChanged() { |
1394 if (m_pNotify) { | 1394 if (m_pNotify) { |
1395 CFX_FloatRect rcContent = m_pVT->GetContentRect(); | 1395 CFX_FloatRect rcContent = m_pVT->GetContentRect(); |
1396 if (rcContent.Width() != m_rcOldContent.Width() || | 1396 if (rcContent.Width() != m_rcOldContent.Width() || |
1397 rcContent.Height() != m_rcOldContent.Height()) { | 1397 rcContent.Height() != m_rcOldContent.Height()) { |
1398 if (!m_bNotifyFlag) { | 1398 if (!m_bNotifyFlag) { |
1399 m_bNotifyFlag = TRUE; | 1399 m_bNotifyFlag = true; |
1400 m_pNotify->IOnContentChange(rcContent); | 1400 m_pNotify->IOnContentChange(rcContent); |
1401 m_bNotifyFlag = FALSE; | 1401 m_bNotifyFlag = false; |
1402 } | 1402 } |
1403 m_rcOldContent = rcContent; | 1403 m_rcOldContent = rcContent; |
1404 } | 1404 } |
1405 } | 1405 } |
1406 } | 1406 } |
1407 | 1407 |
1408 void CFX_Edit::SelectAll() { | 1408 void CFX_Edit::SelectAll() { |
1409 if (m_pVT->IsValid()) { | 1409 if (m_pVT->IsValid()) { |
1410 m_SelState = CFX_Edit_Select(GetWholeWordRange()); | 1410 m_SelState = CFX_Edit_Select(GetWholeWordRange()); |
1411 SetCaret(m_SelState.EndPos); | 1411 SetCaret(m_SelState.EndPos); |
1412 | 1412 |
1413 ScrollToCaret(); | 1413 ScrollToCaret(); |
1414 Refresh(); | 1414 Refresh(); |
1415 SetCaretInfo(); | 1415 SetCaretInfo(); |
1416 } | 1416 } |
1417 } | 1417 } |
1418 | 1418 |
1419 void CFX_Edit::SelectNone() { | 1419 void CFX_Edit::SelectNone() { |
1420 if (m_pVT->IsValid()) { | 1420 if (m_pVT->IsValid()) { |
1421 if (m_SelState.IsExist()) { | 1421 if (m_SelState.IsExist()) { |
1422 m_SelState.Default(); | 1422 m_SelState.Default(); |
1423 Refresh(); | 1423 Refresh(); |
1424 } | 1424 } |
1425 } | 1425 } |
1426 } | 1426 } |
1427 | 1427 |
1428 FX_BOOL CFX_Edit::IsSelected() const { | 1428 bool CFX_Edit::IsSelected() const { |
1429 return m_SelState.IsExist(); | 1429 return m_SelState.IsExist(); |
1430 } | 1430 } |
1431 | 1431 |
1432 CFX_FloatPoint CFX_Edit::VTToEdit(const CFX_FloatPoint& point) const { | 1432 CFX_FloatPoint CFX_Edit::VTToEdit(const CFX_FloatPoint& point) const { |
1433 CFX_FloatRect rcContent = m_pVT->GetContentRect(); | 1433 CFX_FloatRect rcContent = m_pVT->GetContentRect(); |
1434 CFX_FloatRect rcPlate = m_pVT->GetPlateRect(); | 1434 CFX_FloatRect rcPlate = m_pVT->GetPlateRect(); |
1435 | 1435 |
1436 FX_FLOAT fPadding = 0.0f; | 1436 FX_FLOAT fPadding = 0.0f; |
1437 | 1437 |
1438 switch (m_nAlignment) { | 1438 switch (m_nAlignment) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1481 return CFX_FloatRect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x, | 1481 return CFX_FloatRect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x, |
1482 ptRightTop.y); | 1482 ptRightTop.y); |
1483 } | 1483 } |
1484 | 1484 |
1485 void CFX_Edit::SetScrollInfo() { | 1485 void CFX_Edit::SetScrollInfo() { |
1486 if (m_pNotify) { | 1486 if (m_pNotify) { |
1487 CFX_FloatRect rcPlate = m_pVT->GetPlateRect(); | 1487 CFX_FloatRect rcPlate = m_pVT->GetPlateRect(); |
1488 CFX_FloatRect rcContent = m_pVT->GetContentRect(); | 1488 CFX_FloatRect rcContent = m_pVT->GetContentRect(); |
1489 | 1489 |
1490 if (!m_bNotifyFlag) { | 1490 if (!m_bNotifyFlag) { |
1491 m_bNotifyFlag = TRUE; | 1491 m_bNotifyFlag = true; |
1492 m_pNotify->IOnSetScrollInfoY(rcPlate.bottom, rcPlate.top, | 1492 m_pNotify->IOnSetScrollInfoY(rcPlate.bottom, rcPlate.top, |
1493 rcContent.bottom, rcContent.top, | 1493 rcContent.bottom, rcContent.top, |
1494 rcPlate.Height() / 3, rcPlate.Height()); | 1494 rcPlate.Height() / 3, rcPlate.Height()); |
1495 m_bNotifyFlag = FALSE; | 1495 m_bNotifyFlag = false; |
1496 } | 1496 } |
1497 } | 1497 } |
1498 } | 1498 } |
1499 | 1499 |
1500 void CFX_Edit::SetScrollPosX(FX_FLOAT fx) { | 1500 void CFX_Edit::SetScrollPosX(FX_FLOAT fx) { |
1501 if (!m_bEnableScroll) | 1501 if (!m_bEnableScroll) |
1502 return; | 1502 return; |
1503 | 1503 |
1504 if (m_pVT->IsValid()) { | 1504 if (m_pVT->IsValid()) { |
1505 if (!IsFloatEqual(m_ptScrollPos.x, fx)) { | 1505 if (!IsFloatEqual(m_ptScrollPos.x, fx)) { |
1506 m_ptScrollPos.x = fx; | 1506 m_ptScrollPos.x = fx; |
1507 Refresh(); | 1507 Refresh(); |
1508 } | 1508 } |
1509 } | 1509 } |
1510 } | 1510 } |
1511 | 1511 |
1512 void CFX_Edit::SetScrollPosY(FX_FLOAT fy) { | 1512 void CFX_Edit::SetScrollPosY(FX_FLOAT fy) { |
1513 if (!m_bEnableScroll) | 1513 if (!m_bEnableScroll) |
1514 return; | 1514 return; |
1515 | 1515 |
1516 if (m_pVT->IsValid()) { | 1516 if (m_pVT->IsValid()) { |
1517 if (!IsFloatEqual(m_ptScrollPos.y, fy)) { | 1517 if (!IsFloatEqual(m_ptScrollPos.y, fy)) { |
1518 m_ptScrollPos.y = fy; | 1518 m_ptScrollPos.y = fy; |
1519 Refresh(); | 1519 Refresh(); |
1520 | 1520 |
1521 if (m_pNotify) { | 1521 if (m_pNotify) { |
1522 if (!m_bNotifyFlag) { | 1522 if (!m_bNotifyFlag) { |
1523 m_bNotifyFlag = TRUE; | 1523 m_bNotifyFlag = true; |
1524 m_pNotify->IOnSetScrollPosY(fy); | 1524 m_pNotify->IOnSetScrollPosY(fy); |
1525 m_bNotifyFlag = FALSE; | 1525 m_bNotifyFlag = false; |
1526 } | 1526 } |
1527 } | 1527 } |
1528 } | 1528 } |
1529 } | 1529 } |
1530 } | 1530 } |
1531 | 1531 |
1532 void CFX_Edit::SetScrollPos(const CFX_FloatPoint& point) { | 1532 void CFX_Edit::SetScrollPos(const CFX_FloatPoint& point) { |
1533 SetScrollPosX(point.x); | 1533 SetScrollPosX(point.x); |
1534 SetScrollPosY(point.y); | 1534 SetScrollPosY(point.y); |
1535 SetScrollLimit(); | 1535 SetScrollLimit(); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1623 void CFX_Edit::Refresh() { | 1623 void CFX_Edit::Refresh() { |
1624 if (m_bEnableRefresh && m_pVT->IsValid()) { | 1624 if (m_bEnableRefresh && m_pVT->IsValid()) { |
1625 m_Refresh.BeginRefresh(); | 1625 m_Refresh.BeginRefresh(); |
1626 RefreshPushLineRects(GetVisibleWordRange()); | 1626 RefreshPushLineRects(GetVisibleWordRange()); |
1627 | 1627 |
1628 m_Refresh.NoAnalyse(); | 1628 m_Refresh.NoAnalyse(); |
1629 m_ptRefreshScrollPos = m_ptScrollPos; | 1629 m_ptRefreshScrollPos = m_ptScrollPos; |
1630 | 1630 |
1631 if (m_pNotify) { | 1631 if (m_pNotify) { |
1632 if (!m_bNotifyFlag) { | 1632 if (!m_bNotifyFlag) { |
1633 m_bNotifyFlag = TRUE; | 1633 m_bNotifyFlag = true; |
1634 if (const CFX_Edit_RectArray* pRects = m_Refresh.GetRefreshRects()) { | 1634 if (const CFX_Edit_RectArray* pRects = m_Refresh.GetRefreshRects()) { |
1635 for (int32_t i = 0, sz = pRects->GetSize(); i < sz; i++) | 1635 for (int32_t i = 0, sz = pRects->GetSize(); i < sz; i++) |
1636 m_pNotify->IOnInvalidateRect(pRects->GetAt(i)); | 1636 m_pNotify->IOnInvalidateRect(pRects->GetAt(i)); |
1637 } | 1637 } |
1638 m_bNotifyFlag = FALSE; | 1638 m_bNotifyFlag = false; |
1639 } | 1639 } |
1640 } | 1640 } |
1641 | 1641 |
1642 m_Refresh.EndRefresh(); | 1642 m_Refresh.EndRefresh(); |
1643 } | 1643 } |
1644 } | 1644 } |
1645 | 1645 |
1646 void CFX_Edit::RefreshPushLineRects(const CPVT_WordRange& wr) { | 1646 void CFX_Edit::RefreshPushLineRects(const CPVT_WordRange& wr) { |
1647 if (!m_pVT->IsValid()) | 1647 if (!m_pVT->IsValid()) |
1648 return; | 1648 return; |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1693 | 1693 |
1694 if (place.LineCmp(wrTemp.BeginPos) == 0 || | 1694 if (place.LineCmp(wrTemp.BeginPos) == 0 || |
1695 place.LineCmp(wrTemp.EndPos) == 0) { | 1695 place.LineCmp(wrTemp.EndPos) == 0) { |
1696 CFX_FloatRect rcWord(wordinfo.ptWord.x, | 1696 CFX_FloatRect rcWord(wordinfo.ptWord.x, |
1697 lineinfo.ptLine.y + lineinfo.fLineDescent, | 1697 lineinfo.ptLine.y + lineinfo.fLineDescent, |
1698 wordinfo.ptWord.x + wordinfo.fWidth, | 1698 wordinfo.ptWord.x + wordinfo.fWidth, |
1699 lineinfo.ptLine.y + lineinfo.fLineAscent); | 1699 lineinfo.ptLine.y + lineinfo.fLineAscent); |
1700 | 1700 |
1701 if (m_pNotify) { | 1701 if (m_pNotify) { |
1702 if (!m_bNotifyFlag) { | 1702 if (!m_bNotifyFlag) { |
1703 m_bNotifyFlag = TRUE; | 1703 m_bNotifyFlag = true; |
1704 CFX_FloatRect rcRefresh = VTToEdit(rcWord); | 1704 CFX_FloatRect rcRefresh = VTToEdit(rcWord); |
1705 m_pNotify->IOnInvalidateRect(&rcRefresh); | 1705 m_pNotify->IOnInvalidateRect(&rcRefresh); |
1706 m_bNotifyFlag = FALSE; | 1706 m_bNotifyFlag = false; |
1707 } | 1707 } |
1708 } | 1708 } |
1709 } else { | 1709 } else { |
1710 CFX_FloatRect rcLine(lineinfo.ptLine.x, | 1710 CFX_FloatRect rcLine(lineinfo.ptLine.x, |
1711 lineinfo.ptLine.y + lineinfo.fLineDescent, | 1711 lineinfo.ptLine.y + lineinfo.fLineDescent, |
1712 lineinfo.ptLine.x + lineinfo.fLineWidth, | 1712 lineinfo.ptLine.x + lineinfo.fLineWidth, |
1713 lineinfo.ptLine.y + lineinfo.fLineAscent); | 1713 lineinfo.ptLine.y + lineinfo.fLineAscent); |
1714 | 1714 |
1715 if (m_pNotify) { | 1715 if (m_pNotify) { |
1716 if (!m_bNotifyFlag) { | 1716 if (!m_bNotifyFlag) { |
1717 m_bNotifyFlag = TRUE; | 1717 m_bNotifyFlag = true; |
1718 CFX_FloatRect rcRefresh = VTToEdit(rcLine); | 1718 CFX_FloatRect rcRefresh = VTToEdit(rcLine); |
1719 m_pNotify->IOnInvalidateRect(&rcRefresh); | 1719 m_pNotify->IOnInvalidateRect(&rcRefresh); |
1720 m_bNotifyFlag = FALSE; | 1720 m_bNotifyFlag = false; |
1721 } | 1721 } |
1722 } | 1722 } |
1723 | 1723 |
1724 pIterator->NextLine(); | 1724 pIterator->NextLine(); |
1725 } | 1725 } |
1726 } | 1726 } |
1727 } | 1727 } |
1728 | 1728 |
1729 void CFX_Edit::SetCaret(const CPVT_WordPlace& place) { | 1729 void CFX_Edit::SetCaret(const CPVT_WordPlace& place) { |
1730 m_wpOldCaret = m_wpCaret; | 1730 m_wpOldCaret = m_wpCaret; |
(...skipping 15 matching lines...) Expand all Loading... |
1746 ptHead.y = word.ptWord.y + word.fAscent; | 1746 ptHead.y = word.ptWord.y + word.fAscent; |
1747 ptFoot.x = word.ptWord.x + word.fWidth; | 1747 ptFoot.x = word.ptWord.x + word.fWidth; |
1748 ptFoot.y = word.ptWord.y + word.fDescent; | 1748 ptFoot.y = word.ptWord.y + word.fDescent; |
1749 } else if (pIterator->GetLine(line)) { | 1749 } else if (pIterator->GetLine(line)) { |
1750 ptHead.x = line.ptLine.x; | 1750 ptHead.x = line.ptLine.x; |
1751 ptHead.y = line.ptLine.y + line.fLineAscent; | 1751 ptHead.y = line.ptLine.y + line.fLineAscent; |
1752 ptFoot.x = line.ptLine.x; | 1752 ptFoot.x = line.ptLine.x; |
1753 ptFoot.y = line.ptLine.y + line.fLineDescent; | 1753 ptFoot.y = line.ptLine.y + line.fLineDescent; |
1754 } | 1754 } |
1755 | 1755 |
1756 m_bNotifyFlag = TRUE; | 1756 m_bNotifyFlag = true; |
1757 m_pNotify->IOnSetCaret(!m_SelState.IsExist(), VTToEdit(ptHead), | 1757 m_pNotify->IOnSetCaret(!m_SelState.IsExist(), VTToEdit(ptHead), |
1758 VTToEdit(ptFoot), m_wpCaret); | 1758 VTToEdit(ptFoot), m_wpCaret); |
1759 m_bNotifyFlag = FALSE; | 1759 m_bNotifyFlag = false; |
1760 } | 1760 } |
1761 } | 1761 } |
1762 } | 1762 } |
1763 | 1763 |
1764 void CFX_Edit::SetCaret(int32_t nPos) { | 1764 void CFX_Edit::SetCaret(int32_t nPos) { |
1765 if (m_pVT->IsValid()) { | 1765 if (m_pVT->IsValid()) { |
1766 SelectNone(); | 1766 SelectNone(); |
1767 SetCaret(m_pVT->WordIndexToWordPlace(nPos)); | 1767 SetCaret(m_pVT->WordIndexToWordPlace(nPos)); |
1768 m_SelState.Set(m_wpCaret, m_wpCaret); | 1768 m_SelState.Set(m_wpCaret, m_wpCaret); |
1769 | 1769 |
1770 ScrollToCaret(); | 1770 ScrollToCaret(); |
1771 SetCaretOrigin(); | 1771 SetCaretOrigin(); |
1772 SetCaretInfo(); | 1772 SetCaretInfo(); |
1773 } | 1773 } |
1774 } | 1774 } |
1775 | 1775 |
1776 void CFX_Edit::OnMouseDown(const CFX_FloatPoint& point, | 1776 void CFX_Edit::OnMouseDown(const CFX_FloatPoint& point, |
1777 FX_BOOL bShift, | 1777 bool bShift, |
1778 FX_BOOL bCtrl) { | 1778 bool bCtrl) { |
1779 if (m_pVT->IsValid()) { | 1779 if (m_pVT->IsValid()) { |
1780 SelectNone(); | 1780 SelectNone(); |
1781 SetCaret(m_pVT->SearchWordPlace(EditToVT(point))); | 1781 SetCaret(m_pVT->SearchWordPlace(EditToVT(point))); |
1782 m_SelState.Set(m_wpCaret, m_wpCaret); | 1782 m_SelState.Set(m_wpCaret, m_wpCaret); |
1783 | 1783 |
1784 ScrollToCaret(); | 1784 ScrollToCaret(); |
1785 SetCaretOrigin(); | 1785 SetCaretOrigin(); |
1786 SetCaretInfo(); | 1786 SetCaretInfo(); |
1787 } | 1787 } |
1788 } | 1788 } |
1789 | 1789 |
1790 void CFX_Edit::OnMouseMove(const CFX_FloatPoint& point, | 1790 void CFX_Edit::OnMouseMove(const CFX_FloatPoint& point, |
1791 FX_BOOL bShift, | 1791 bool bShift, |
1792 FX_BOOL bCtrl) { | 1792 bool bCtrl) { |
1793 if (m_pVT->IsValid()) { | 1793 if (m_pVT->IsValid()) { |
1794 SetCaret(m_pVT->SearchWordPlace(EditToVT(point))); | 1794 SetCaret(m_pVT->SearchWordPlace(EditToVT(point))); |
1795 | 1795 |
1796 if (m_wpCaret != m_wpOldCaret) { | 1796 if (m_wpCaret != m_wpOldCaret) { |
1797 m_SelState.SetEndPos(m_wpCaret); | 1797 m_SelState.SetEndPos(m_wpCaret); |
1798 | 1798 |
1799 ScrollToCaret(); | 1799 ScrollToCaret(); |
1800 Refresh(); | 1800 Refresh(); |
1801 SetCaretOrigin(); | 1801 SetCaretOrigin(); |
1802 SetCaretInfo(); | 1802 SetCaretInfo(); |
1803 } | 1803 } |
1804 } | 1804 } |
1805 } | 1805 } |
1806 | 1806 |
1807 void CFX_Edit::OnVK_UP(FX_BOOL bShift, FX_BOOL bCtrl) { | 1807 void CFX_Edit::OnVK_UP(bool bShift, bool bCtrl) { |
1808 if (m_pVT->IsValid()) { | 1808 if (m_pVT->IsValid()) { |
1809 SetCaret(m_pVT->GetUpWordPlace(m_wpCaret, m_ptCaret)); | 1809 SetCaret(m_pVT->GetUpWordPlace(m_wpCaret, m_ptCaret)); |
1810 | 1810 |
1811 if (bShift) { | 1811 if (bShift) { |
1812 if (m_SelState.IsExist()) | 1812 if (m_SelState.IsExist()) |
1813 m_SelState.SetEndPos(m_wpCaret); | 1813 m_SelState.SetEndPos(m_wpCaret); |
1814 else | 1814 else |
1815 m_SelState.Set(m_wpOldCaret, m_wpCaret); | 1815 m_SelState.Set(m_wpOldCaret, m_wpCaret); |
1816 | 1816 |
1817 if (m_wpOldCaret != m_wpCaret) { | 1817 if (m_wpOldCaret != m_wpCaret) { |
1818 ScrollToCaret(); | 1818 ScrollToCaret(); |
1819 Refresh(); | 1819 Refresh(); |
1820 SetCaretInfo(); | 1820 SetCaretInfo(); |
1821 } | 1821 } |
1822 } else { | 1822 } else { |
1823 SelectNone(); | 1823 SelectNone(); |
1824 | 1824 |
1825 ScrollToCaret(); | 1825 ScrollToCaret(); |
1826 SetCaretInfo(); | 1826 SetCaretInfo(); |
1827 } | 1827 } |
1828 } | 1828 } |
1829 } | 1829 } |
1830 | 1830 |
1831 void CFX_Edit::OnVK_DOWN(FX_BOOL bShift, FX_BOOL bCtrl) { | 1831 void CFX_Edit::OnVK_DOWN(bool bShift, bool bCtrl) { |
1832 if (m_pVT->IsValid()) { | 1832 if (m_pVT->IsValid()) { |
1833 SetCaret(m_pVT->GetDownWordPlace(m_wpCaret, m_ptCaret)); | 1833 SetCaret(m_pVT->GetDownWordPlace(m_wpCaret, m_ptCaret)); |
1834 | 1834 |
1835 if (bShift) { | 1835 if (bShift) { |
1836 if (m_SelState.IsExist()) | 1836 if (m_SelState.IsExist()) |
1837 m_SelState.SetEndPos(m_wpCaret); | 1837 m_SelState.SetEndPos(m_wpCaret); |
1838 else | 1838 else |
1839 m_SelState.Set(m_wpOldCaret, m_wpCaret); | 1839 m_SelState.Set(m_wpOldCaret, m_wpCaret); |
1840 | 1840 |
1841 if (m_wpOldCaret != m_wpCaret) { | 1841 if (m_wpOldCaret != m_wpCaret) { |
1842 ScrollToCaret(); | 1842 ScrollToCaret(); |
1843 Refresh(); | 1843 Refresh(); |
1844 SetCaretInfo(); | 1844 SetCaretInfo(); |
1845 } | 1845 } |
1846 } else { | 1846 } else { |
1847 SelectNone(); | 1847 SelectNone(); |
1848 | 1848 |
1849 ScrollToCaret(); | 1849 ScrollToCaret(); |
1850 SetCaretInfo(); | 1850 SetCaretInfo(); |
1851 } | 1851 } |
1852 } | 1852 } |
1853 } | 1853 } |
1854 | 1854 |
1855 void CFX_Edit::OnVK_LEFT(FX_BOOL bShift, FX_BOOL bCtrl) { | 1855 void CFX_Edit::OnVK_LEFT(bool bShift, bool bCtrl) { |
1856 if (m_pVT->IsValid()) { | 1856 if (m_pVT->IsValid()) { |
1857 if (bShift) { | 1857 if (bShift) { |
1858 if (m_wpCaret == m_pVT->GetLineBeginPlace(m_wpCaret) && | 1858 if (m_wpCaret == m_pVT->GetLineBeginPlace(m_wpCaret) && |
1859 m_wpCaret != m_pVT->GetSectionBeginPlace(m_wpCaret)) | 1859 m_wpCaret != m_pVT->GetSectionBeginPlace(m_wpCaret)) |
1860 SetCaret(m_pVT->GetPrevWordPlace(m_wpCaret)); | 1860 SetCaret(m_pVT->GetPrevWordPlace(m_wpCaret)); |
1861 | 1861 |
1862 SetCaret(m_pVT->GetPrevWordPlace(m_wpCaret)); | 1862 SetCaret(m_pVT->GetPrevWordPlace(m_wpCaret)); |
1863 | 1863 |
1864 if (m_SelState.IsExist()) | 1864 if (m_SelState.IsExist()) |
1865 m_SelState.SetEndPos(m_wpCaret); | 1865 m_SelState.SetEndPos(m_wpCaret); |
(...skipping 23 matching lines...) Expand all Loading... |
1889 SetCaret(m_pVT->GetPrevWordPlace(m_wpCaret)); | 1889 SetCaret(m_pVT->GetPrevWordPlace(m_wpCaret)); |
1890 | 1890 |
1891 ScrollToCaret(); | 1891 ScrollToCaret(); |
1892 SetCaretOrigin(); | 1892 SetCaretOrigin(); |
1893 SetCaretInfo(); | 1893 SetCaretInfo(); |
1894 } | 1894 } |
1895 } | 1895 } |
1896 } | 1896 } |
1897 } | 1897 } |
1898 | 1898 |
1899 void CFX_Edit::OnVK_RIGHT(FX_BOOL bShift, FX_BOOL bCtrl) { | 1899 void CFX_Edit::OnVK_RIGHT(bool bShift, bool bCtrl) { |
1900 if (m_pVT->IsValid()) { | 1900 if (m_pVT->IsValid()) { |
1901 if (bShift) { | 1901 if (bShift) { |
1902 SetCaret(m_pVT->GetNextWordPlace(m_wpCaret)); | 1902 SetCaret(m_pVT->GetNextWordPlace(m_wpCaret)); |
1903 | 1903 |
1904 if (m_wpCaret == m_pVT->GetLineEndPlace(m_wpCaret) && | 1904 if (m_wpCaret == m_pVT->GetLineEndPlace(m_wpCaret) && |
1905 m_wpCaret != m_pVT->GetSectionEndPlace(m_wpCaret)) | 1905 m_wpCaret != m_pVT->GetSectionEndPlace(m_wpCaret)) |
1906 SetCaret(m_pVT->GetNextWordPlace(m_wpCaret)); | 1906 SetCaret(m_pVT->GetNextWordPlace(m_wpCaret)); |
1907 | 1907 |
1908 if (m_SelState.IsExist()) | 1908 if (m_SelState.IsExist()) |
1909 m_SelState.SetEndPos(m_wpCaret); | 1909 m_SelState.SetEndPos(m_wpCaret); |
(...skipping 23 matching lines...) Expand all Loading... |
1933 SetCaret(m_pVT->GetNextWordPlace(m_wpCaret)); | 1933 SetCaret(m_pVT->GetNextWordPlace(m_wpCaret)); |
1934 | 1934 |
1935 ScrollToCaret(); | 1935 ScrollToCaret(); |
1936 SetCaretOrigin(); | 1936 SetCaretOrigin(); |
1937 SetCaretInfo(); | 1937 SetCaretInfo(); |
1938 } | 1938 } |
1939 } | 1939 } |
1940 } | 1940 } |
1941 } | 1941 } |
1942 | 1942 |
1943 void CFX_Edit::OnVK_HOME(FX_BOOL bShift, FX_BOOL bCtrl) { | 1943 void CFX_Edit::OnVK_HOME(bool bShift, bool bCtrl) { |
1944 if (m_pVT->IsValid()) { | 1944 if (m_pVT->IsValid()) { |
1945 if (bShift) { | 1945 if (bShift) { |
1946 if (bCtrl) | 1946 if (bCtrl) |
1947 SetCaret(m_pVT->GetBeginWordPlace()); | 1947 SetCaret(m_pVT->GetBeginWordPlace()); |
1948 else | 1948 else |
1949 SetCaret(m_pVT->GetLineBeginPlace(m_wpCaret)); | 1949 SetCaret(m_pVT->GetLineBeginPlace(m_wpCaret)); |
1950 | 1950 |
1951 if (m_SelState.IsExist()) | 1951 if (m_SelState.IsExist()) |
1952 m_SelState.SetEndPos(m_wpCaret); | 1952 m_SelState.SetEndPos(m_wpCaret); |
1953 else | 1953 else |
(...skipping 19 matching lines...) Expand all Loading... |
1973 SetCaret(m_pVT->GetLineBeginPlace(m_wpCaret)); | 1973 SetCaret(m_pVT->GetLineBeginPlace(m_wpCaret)); |
1974 | 1974 |
1975 ScrollToCaret(); | 1975 ScrollToCaret(); |
1976 SetCaretOrigin(); | 1976 SetCaretOrigin(); |
1977 SetCaretInfo(); | 1977 SetCaretInfo(); |
1978 } | 1978 } |
1979 } | 1979 } |
1980 } | 1980 } |
1981 } | 1981 } |
1982 | 1982 |
1983 void CFX_Edit::OnVK_END(FX_BOOL bShift, FX_BOOL bCtrl) { | 1983 void CFX_Edit::OnVK_END(bool bShift, bool bCtrl) { |
1984 if (m_pVT->IsValid()) { | 1984 if (m_pVT->IsValid()) { |
1985 if (bShift) { | 1985 if (bShift) { |
1986 if (bCtrl) | 1986 if (bCtrl) |
1987 SetCaret(m_pVT->GetEndWordPlace()); | 1987 SetCaret(m_pVT->GetEndWordPlace()); |
1988 else | 1988 else |
1989 SetCaret(m_pVT->GetLineEndPlace(m_wpCaret)); | 1989 SetCaret(m_pVT->GetLineEndPlace(m_wpCaret)); |
1990 | 1990 |
1991 if (m_SelState.IsExist()) | 1991 if (m_SelState.IsExist()) |
1992 m_SelState.SetEndPos(m_wpCaret); | 1992 m_SelState.SetEndPos(m_wpCaret); |
1993 else | 1993 else |
(...skipping 19 matching lines...) Expand all Loading... |
2013 SetCaret(m_pVT->GetLineEndPlace(m_wpCaret)); | 2013 SetCaret(m_pVT->GetLineEndPlace(m_wpCaret)); |
2014 | 2014 |
2015 ScrollToCaret(); | 2015 ScrollToCaret(); |
2016 SetCaretOrigin(); | 2016 SetCaretOrigin(); |
2017 SetCaretInfo(); | 2017 SetCaretInfo(); |
2018 } | 2018 } |
2019 } | 2019 } |
2020 } | 2020 } |
2021 } | 2021 } |
2022 | 2022 |
2023 FX_BOOL CFX_Edit::InsertWord(uint16_t word, | 2023 bool CFX_Edit::InsertWord(uint16_t word, |
2024 int32_t charset, | 2024 int32_t charset, |
2025 const CPVT_WordProps* pWordProps, | 2025 const CPVT_WordProps* pWordProps, |
2026 FX_BOOL bAddUndo, | 2026 bool bAddUndo, |
2027 FX_BOOL bPaint) { | 2027 bool bPaint) { |
2028 if (IsTextOverflow()) | 2028 if (IsTextOverflow()) |
2029 return FALSE; | 2029 return false; |
2030 | 2030 |
2031 if (m_pVT->IsValid()) { | 2031 if (m_pVT->IsValid()) { |
2032 m_pVT->UpdateWordPlace(m_wpCaret); | 2032 m_pVT->UpdateWordPlace(m_wpCaret); |
2033 | 2033 |
2034 SetCaret(m_pVT->InsertWord( | 2034 SetCaret(m_pVT->InsertWord( |
2035 m_wpCaret, word, GetCharSetFromUnicode(word, charset), pWordProps)); | 2035 m_wpCaret, word, GetCharSetFromUnicode(word, charset), pWordProps)); |
2036 m_SelState.Set(m_wpCaret, m_wpCaret); | 2036 m_SelState.Set(m_wpCaret, m_wpCaret); |
2037 | 2037 |
2038 if (m_wpCaret != m_wpOldCaret) { | 2038 if (m_wpCaret != m_wpOldCaret) { |
2039 if (bAddUndo && m_bEnableUndo) { | 2039 if (bAddUndo && m_bEnableUndo) { |
2040 AddEditUndoItem(new CFXEU_InsertWord(this, m_wpOldCaret, m_wpCaret, | 2040 AddEditUndoItem(new CFXEU_InsertWord(this, m_wpOldCaret, m_wpCaret, |
2041 word, charset, pWordProps)); | 2041 word, charset, pWordProps)); |
2042 } | 2042 } |
2043 | 2043 |
2044 if (bPaint) | 2044 if (bPaint) |
2045 PaintInsertText(m_wpOldCaret, m_wpCaret); | 2045 PaintInsertText(m_wpOldCaret, m_wpCaret); |
2046 | 2046 |
2047 if (m_bOprNotify && m_pOprNotify) | 2047 if (m_bOprNotify && m_pOprNotify) |
2048 m_pOprNotify->OnInsertWord(m_wpCaret, m_wpOldCaret); | 2048 m_pOprNotify->OnInsertWord(m_wpCaret, m_wpOldCaret); |
2049 | 2049 |
2050 return TRUE; | 2050 return true; |
2051 } | 2051 } |
2052 } | 2052 } |
2053 | 2053 |
2054 return FALSE; | 2054 return false; |
2055 } | 2055 } |
2056 | 2056 |
2057 FX_BOOL CFX_Edit::InsertReturn(const CPVT_SecProps* pSecProps, | 2057 bool CFX_Edit::InsertReturn(const CPVT_SecProps* pSecProps, |
2058 const CPVT_WordProps* pWordProps, | 2058 const CPVT_WordProps* pWordProps, |
2059 FX_BOOL bAddUndo, | 2059 bool bAddUndo, |
2060 FX_BOOL bPaint) { | 2060 bool bPaint) { |
2061 if (IsTextOverflow()) | 2061 if (IsTextOverflow()) |
2062 return FALSE; | 2062 return false; |
2063 | 2063 |
2064 if (m_pVT->IsValid()) { | 2064 if (m_pVT->IsValid()) { |
2065 m_pVT->UpdateWordPlace(m_wpCaret); | 2065 m_pVT->UpdateWordPlace(m_wpCaret); |
2066 SetCaret(m_pVT->InsertSection(m_wpCaret, pSecProps, pWordProps)); | 2066 SetCaret(m_pVT->InsertSection(m_wpCaret, pSecProps, pWordProps)); |
2067 m_SelState.Set(m_wpCaret, m_wpCaret); | 2067 m_SelState.Set(m_wpCaret, m_wpCaret); |
2068 | 2068 |
2069 if (m_wpCaret != m_wpOldCaret) { | 2069 if (m_wpCaret != m_wpOldCaret) { |
2070 if (bAddUndo && m_bEnableUndo) { | 2070 if (bAddUndo && m_bEnableUndo) { |
2071 AddEditUndoItem(new CFXEU_InsertReturn(this, m_wpOldCaret, m_wpCaret, | 2071 AddEditUndoItem(new CFXEU_InsertReturn(this, m_wpOldCaret, m_wpCaret, |
2072 pSecProps, pWordProps)); | 2072 pSecProps, pWordProps)); |
2073 } | 2073 } |
2074 | 2074 |
2075 if (bPaint) { | 2075 if (bPaint) { |
2076 RearrangePart(CPVT_WordRange(m_wpOldCaret, m_wpCaret)); | 2076 RearrangePart(CPVT_WordRange(m_wpOldCaret, m_wpCaret)); |
2077 ScrollToCaret(); | 2077 ScrollToCaret(); |
2078 Refresh(); | 2078 Refresh(); |
2079 SetCaretOrigin(); | 2079 SetCaretOrigin(); |
2080 SetCaretInfo(); | 2080 SetCaretInfo(); |
2081 } | 2081 } |
2082 | 2082 |
2083 if (m_bOprNotify && m_pOprNotify) | 2083 if (m_bOprNotify && m_pOprNotify) |
2084 m_pOprNotify->OnInsertReturn(m_wpCaret, m_wpOldCaret); | 2084 m_pOprNotify->OnInsertReturn(m_wpCaret, m_wpOldCaret); |
2085 | 2085 |
2086 return TRUE; | 2086 return true; |
2087 } | 2087 } |
2088 } | 2088 } |
2089 | 2089 |
2090 return FALSE; | 2090 return false; |
2091 } | 2091 } |
2092 | 2092 |
2093 FX_BOOL CFX_Edit::Backspace(FX_BOOL bAddUndo, FX_BOOL bPaint) { | 2093 bool CFX_Edit::Backspace(bool bAddUndo, bool bPaint) { |
2094 if (m_pVT->IsValid()) { | 2094 if (m_pVT->IsValid()) { |
2095 if (m_wpCaret == m_pVT->GetBeginWordPlace()) | 2095 if (m_wpCaret == m_pVT->GetBeginWordPlace()) |
2096 return FALSE; | 2096 return false; |
2097 | 2097 |
2098 CPVT_Section section; | 2098 CPVT_Section section; |
2099 CPVT_Word word; | 2099 CPVT_Word word; |
2100 | 2100 |
2101 if (bAddUndo) { | 2101 if (bAddUndo) { |
2102 CPDF_VariableText::Iterator* pIterator = m_pVT->GetIterator(); | 2102 CPDF_VariableText::Iterator* pIterator = m_pVT->GetIterator(); |
2103 pIterator->SetAt(m_wpCaret); | 2103 pIterator->SetAt(m_wpCaret); |
2104 pIterator->GetSection(section); | 2104 pIterator->GetSection(section); |
2105 pIterator->GetWord(word); | 2105 pIterator->GetWord(word); |
2106 } | 2106 } |
(...skipping 18 matching lines...) Expand all Loading... |
2125 RearrangePart(CPVT_WordRange(m_wpCaret, m_wpOldCaret)); | 2125 RearrangePart(CPVT_WordRange(m_wpCaret, m_wpOldCaret)); |
2126 ScrollToCaret(); | 2126 ScrollToCaret(); |
2127 Refresh(); | 2127 Refresh(); |
2128 SetCaretOrigin(); | 2128 SetCaretOrigin(); |
2129 SetCaretInfo(); | 2129 SetCaretInfo(); |
2130 } | 2130 } |
2131 | 2131 |
2132 if (m_bOprNotify && m_pOprNotify) | 2132 if (m_bOprNotify && m_pOprNotify) |
2133 m_pOprNotify->OnBackSpace(m_wpCaret, m_wpOldCaret); | 2133 m_pOprNotify->OnBackSpace(m_wpCaret, m_wpOldCaret); |
2134 | 2134 |
2135 return TRUE; | 2135 return true; |
2136 } | 2136 } |
2137 } | 2137 } |
2138 | 2138 |
2139 return FALSE; | 2139 return false; |
2140 } | 2140 } |
2141 | 2141 |
2142 FX_BOOL CFX_Edit::Delete(FX_BOOL bAddUndo, FX_BOOL bPaint) { | 2142 bool CFX_Edit::Delete(bool bAddUndo, bool bPaint) { |
2143 if (m_pVT->IsValid()) { | 2143 if (m_pVT->IsValid()) { |
2144 if (m_wpCaret == m_pVT->GetEndWordPlace()) | 2144 if (m_wpCaret == m_pVT->GetEndWordPlace()) |
2145 return FALSE; | 2145 return false; |
2146 | 2146 |
2147 CPVT_Section section; | 2147 CPVT_Section section; |
2148 CPVT_Word word; | 2148 CPVT_Word word; |
2149 | 2149 |
2150 if (bAddUndo) { | 2150 if (bAddUndo) { |
2151 CPDF_VariableText::Iterator* pIterator = m_pVT->GetIterator(); | 2151 CPDF_VariableText::Iterator* pIterator = m_pVT->GetIterator(); |
2152 pIterator->SetAt(m_pVT->GetNextWordPlace(m_wpCaret)); | 2152 pIterator->SetAt(m_pVT->GetNextWordPlace(m_wpCaret)); |
2153 pIterator->GetSection(section); | 2153 pIterator->GetSection(section); |
2154 pIterator->GetWord(word); | 2154 pIterator->GetWord(word); |
2155 } | 2155 } |
2156 | 2156 |
2157 m_pVT->UpdateWordPlace(m_wpCaret); | 2157 m_pVT->UpdateWordPlace(m_wpCaret); |
2158 FX_BOOL bSecEnd = (m_wpCaret == m_pVT->GetSectionEndPlace(m_wpCaret)); | 2158 bool bSecEnd = (m_wpCaret == m_pVT->GetSectionEndPlace(m_wpCaret)); |
2159 | 2159 |
2160 SetCaret(m_pVT->DeleteWord(m_wpCaret)); | 2160 SetCaret(m_pVT->DeleteWord(m_wpCaret)); |
2161 m_SelState.Set(m_wpCaret, m_wpCaret); | 2161 m_SelState.Set(m_wpCaret, m_wpCaret); |
2162 | 2162 |
2163 if (bAddUndo && m_bEnableUndo) { | 2163 if (bAddUndo && m_bEnableUndo) { |
2164 if (bSecEnd) | 2164 if (bSecEnd) |
2165 AddEditUndoItem(new CFXEU_Delete( | 2165 AddEditUndoItem(new CFXEU_Delete( |
2166 this, m_wpOldCaret, m_wpCaret, word.Word, word.nCharset, | 2166 this, m_wpOldCaret, m_wpCaret, word.Word, word.nCharset, |
2167 section.SecProps, section.WordProps, bSecEnd)); | 2167 section.SecProps, section.WordProps, bSecEnd)); |
2168 else | 2168 else |
2169 AddEditUndoItem(new CFXEU_Delete( | 2169 AddEditUndoItem(new CFXEU_Delete( |
2170 this, m_wpOldCaret, m_wpCaret, word.Word, word.nCharset, | 2170 this, m_wpOldCaret, m_wpCaret, word.Word, word.nCharset, |
2171 section.SecProps, word.WordProps, bSecEnd)); | 2171 section.SecProps, word.WordProps, bSecEnd)); |
2172 } | 2172 } |
2173 | 2173 |
2174 if (bPaint) { | 2174 if (bPaint) { |
2175 RearrangePart(CPVT_WordRange(m_wpOldCaret, m_wpCaret)); | 2175 RearrangePart(CPVT_WordRange(m_wpOldCaret, m_wpCaret)); |
2176 ScrollToCaret(); | 2176 ScrollToCaret(); |
2177 Refresh(); | 2177 Refresh(); |
2178 SetCaretOrigin(); | 2178 SetCaretOrigin(); |
2179 SetCaretInfo(); | 2179 SetCaretInfo(); |
2180 } | 2180 } |
2181 | 2181 |
2182 if (m_bOprNotify && m_pOprNotify) | 2182 if (m_bOprNotify && m_pOprNotify) |
2183 m_pOprNotify->OnDelete(m_wpCaret, m_wpOldCaret); | 2183 m_pOprNotify->OnDelete(m_wpCaret, m_wpOldCaret); |
2184 | 2184 |
2185 return TRUE; | 2185 return true; |
2186 } | 2186 } |
2187 | 2187 |
2188 return FALSE; | 2188 return false; |
2189 } | 2189 } |
2190 | 2190 |
2191 FX_BOOL CFX_Edit::Empty() { | 2191 bool CFX_Edit::Empty() { |
2192 if (m_pVT->IsValid()) { | 2192 if (m_pVT->IsValid()) { |
2193 m_pVT->DeleteWords(GetWholeWordRange()); | 2193 m_pVT->DeleteWords(GetWholeWordRange()); |
2194 SetCaret(m_pVT->GetBeginWordPlace()); | 2194 SetCaret(m_pVT->GetBeginWordPlace()); |
2195 | 2195 |
2196 return TRUE; | 2196 return true; |
2197 } | 2197 } |
2198 | 2198 |
2199 return FALSE; | 2199 return false; |
2200 } | 2200 } |
2201 | 2201 |
2202 FX_BOOL CFX_Edit::Clear(FX_BOOL bAddUndo, FX_BOOL bPaint) { | 2202 bool CFX_Edit::Clear(bool bAddUndo, bool bPaint) { |
2203 if (!m_pVT->IsValid()) | 2203 if (!m_pVT->IsValid()) |
2204 return FALSE; | 2204 return false; |
2205 | 2205 |
2206 if (!m_SelState.IsExist()) | 2206 if (!m_SelState.IsExist()) |
2207 return FALSE; | 2207 return false; |
2208 | 2208 |
2209 CPVT_WordRange range = m_SelState.ConvertToWordRange(); | 2209 CPVT_WordRange range = m_SelState.ConvertToWordRange(); |
2210 | 2210 |
2211 if (bAddUndo && m_bEnableUndo) | 2211 if (bAddUndo && m_bEnableUndo) |
2212 AddEditUndoItem(new CFXEU_Clear(this, range, GetSelText())); | 2212 AddEditUndoItem(new CFXEU_Clear(this, range, GetSelText())); |
2213 | 2213 |
2214 SelectNone(); | 2214 SelectNone(); |
2215 SetCaret(m_pVT->DeleteWords(range)); | 2215 SetCaret(m_pVT->DeleteWords(range)); |
2216 m_SelState.Set(m_wpCaret, m_wpCaret); | 2216 m_SelState.Set(m_wpCaret, m_wpCaret); |
2217 | 2217 |
2218 if (bPaint) { | 2218 if (bPaint) { |
2219 RearrangePart(range); | 2219 RearrangePart(range); |
2220 ScrollToCaret(); | 2220 ScrollToCaret(); |
2221 Refresh(); | 2221 Refresh(); |
2222 SetCaretOrigin(); | 2222 SetCaretOrigin(); |
2223 SetCaretInfo(); | 2223 SetCaretInfo(); |
2224 } | 2224 } |
2225 | 2225 |
2226 if (m_bOprNotify && m_pOprNotify) | 2226 if (m_bOprNotify && m_pOprNotify) |
2227 m_pOprNotify->OnClear(m_wpCaret, m_wpOldCaret); | 2227 m_pOprNotify->OnClear(m_wpCaret, m_wpOldCaret); |
2228 | 2228 |
2229 return TRUE; | 2229 return true; |
2230 } | 2230 } |
2231 | 2231 |
2232 FX_BOOL CFX_Edit::InsertText(const CFX_WideString& sText, | 2232 bool CFX_Edit::InsertText(const CFX_WideString& sText, |
2233 int32_t charset, | 2233 int32_t charset, |
2234 FX_BOOL bAddUndo, | 2234 bool bAddUndo, |
2235 FX_BOOL bPaint) { | 2235 bool bPaint) { |
2236 if (IsTextOverflow()) | 2236 if (IsTextOverflow()) |
2237 return FALSE; | 2237 return false; |
2238 | 2238 |
2239 m_pVT->UpdateWordPlace(m_wpCaret); | 2239 m_pVT->UpdateWordPlace(m_wpCaret); |
2240 SetCaret(DoInsertText(m_wpCaret, sText, charset)); | 2240 SetCaret(DoInsertText(m_wpCaret, sText, charset)); |
2241 m_SelState.Set(m_wpCaret, m_wpCaret); | 2241 m_SelState.Set(m_wpCaret, m_wpCaret); |
2242 if (m_wpCaret == m_wpOldCaret) | 2242 if (m_wpCaret == m_wpOldCaret) |
2243 return FALSE; | 2243 return false; |
2244 | 2244 |
2245 if (bAddUndo && m_bEnableUndo) { | 2245 if (bAddUndo && m_bEnableUndo) { |
2246 AddEditUndoItem( | 2246 AddEditUndoItem( |
2247 new CFXEU_InsertText(this, m_wpOldCaret, m_wpCaret, sText, charset)); | 2247 new CFXEU_InsertText(this, m_wpOldCaret, m_wpCaret, sText, charset)); |
2248 } | 2248 } |
2249 | 2249 |
2250 if (bPaint) | 2250 if (bPaint) |
2251 PaintInsertText(m_wpOldCaret, m_wpCaret); | 2251 PaintInsertText(m_wpOldCaret, m_wpCaret); |
2252 | 2252 |
2253 if (m_bOprNotify && m_pOprNotify) | 2253 if (m_bOprNotify && m_pOprNotify) |
2254 m_pOprNotify->OnInsertText(m_wpCaret, m_wpOldCaret); | 2254 m_pOprNotify->OnInsertText(m_wpCaret, m_wpOldCaret); |
2255 | 2255 |
2256 return TRUE; | 2256 return true; |
2257 } | 2257 } |
2258 | 2258 |
2259 void CFX_Edit::PaintInsertText(const CPVT_WordPlace& wpOld, | 2259 void CFX_Edit::PaintInsertText(const CPVT_WordPlace& wpOld, |
2260 const CPVT_WordPlace& wpNew) { | 2260 const CPVT_WordPlace& wpNew) { |
2261 if (m_pVT->IsValid()) { | 2261 if (m_pVT->IsValid()) { |
2262 RearrangePart(CPVT_WordRange(wpOld, wpNew)); | 2262 RearrangePart(CPVT_WordRange(wpOld, wpNew)); |
2263 ScrollToCaret(); | 2263 ScrollToCaret(); |
2264 Refresh(); | 2264 Refresh(); |
2265 SetCaretOrigin(); | 2265 SetCaretOrigin(); |
2266 SetCaretInfo(); | 2266 SetCaretInfo(); |
2267 } | 2267 } |
2268 } | 2268 } |
2269 | 2269 |
2270 FX_BOOL CFX_Edit::Redo() { | 2270 bool CFX_Edit::Redo() { |
2271 if (m_bEnableUndo) { | 2271 if (m_bEnableUndo) { |
2272 if (m_Undo.CanRedo()) { | 2272 if (m_Undo.CanRedo()) { |
2273 m_Undo.Redo(); | 2273 m_Undo.Redo(); |
2274 return TRUE; | 2274 return true; |
2275 } | 2275 } |
2276 } | 2276 } |
2277 | 2277 |
2278 return FALSE; | 2278 return false; |
2279 } | 2279 } |
2280 | 2280 |
2281 FX_BOOL CFX_Edit::Undo() { | 2281 bool CFX_Edit::Undo() { |
2282 if (m_bEnableUndo) { | 2282 if (m_bEnableUndo) { |
2283 if (m_Undo.CanUndo()) { | 2283 if (m_Undo.CanUndo()) { |
2284 m_Undo.Undo(); | 2284 m_Undo.Undo(); |
2285 return TRUE; | 2285 return true; |
2286 } | 2286 } |
2287 } | 2287 } |
2288 | 2288 |
2289 return FALSE; | 2289 return false; |
2290 } | 2290 } |
2291 | 2291 |
2292 void CFX_Edit::SetCaretOrigin() { | 2292 void CFX_Edit::SetCaretOrigin() { |
2293 if (!m_pVT->IsValid()) | 2293 if (!m_pVT->IsValid()) |
2294 return; | 2294 return; |
2295 | 2295 |
2296 CPDF_VariableText::Iterator* pIterator = m_pVT->GetIterator(); | 2296 CPDF_VariableText::Iterator* pIterator = m_pVT->GetIterator(); |
2297 pIterator->SetAt(m_wpCaret); | 2297 pIterator->SetAt(m_wpCaret); |
2298 CPVT_Word word; | 2298 CPVT_Word word; |
2299 CPVT_Line line; | 2299 CPVT_Line line; |
(...skipping 13 matching lines...) Expand all Loading... |
2313 return -1; | 2313 return -1; |
2314 } | 2314 } |
2315 | 2315 |
2316 CPVT_WordPlace CFX_Edit::WordIndexToWordPlace(int32_t index) const { | 2316 CPVT_WordPlace CFX_Edit::WordIndexToWordPlace(int32_t index) const { |
2317 if (m_pVT->IsValid()) | 2317 if (m_pVT->IsValid()) |
2318 return m_pVT->WordIndexToWordPlace(index); | 2318 return m_pVT->WordIndexToWordPlace(index); |
2319 | 2319 |
2320 return CPVT_WordPlace(); | 2320 return CPVT_WordPlace(); |
2321 } | 2321 } |
2322 | 2322 |
2323 FX_BOOL CFX_Edit::IsTextFull() const { | 2323 bool CFX_Edit::IsTextFull() const { |
2324 int32_t nTotalWords = m_pVT->GetTotalWords(); | 2324 int32_t nTotalWords = m_pVT->GetTotalWords(); |
2325 int32_t nLimitChar = m_pVT->GetLimitChar(); | 2325 int32_t nLimitChar = m_pVT->GetLimitChar(); |
2326 int32_t nCharArray = m_pVT->GetCharArray(); | 2326 int32_t nCharArray = m_pVT->GetCharArray(); |
2327 | 2327 |
2328 return IsTextOverflow() || (nLimitChar > 0 && nTotalWords >= nLimitChar) || | 2328 return IsTextOverflow() || (nLimitChar > 0 && nTotalWords >= nLimitChar) || |
2329 (nCharArray > 0 && nTotalWords >= nCharArray); | 2329 (nCharArray > 0 && nTotalWords >= nCharArray); |
2330 } | 2330 } |
2331 | 2331 |
2332 FX_BOOL CFX_Edit::IsTextOverflow() const { | 2332 bool CFX_Edit::IsTextOverflow() const { |
2333 if (!m_bEnableScroll && !m_bEnableOverflow) { | 2333 if (!m_bEnableScroll && !m_bEnableOverflow) { |
2334 CFX_FloatRect rcPlate = m_pVT->GetPlateRect(); | 2334 CFX_FloatRect rcPlate = m_pVT->GetPlateRect(); |
2335 CFX_FloatRect rcContent = m_pVT->GetContentRect(); | 2335 CFX_FloatRect rcContent = m_pVT->GetContentRect(); |
2336 | 2336 |
2337 if (m_pVT->IsMultiLine() && GetTotalLines() > 1 && | 2337 if (m_pVT->IsMultiLine() && GetTotalLines() > 1 && |
2338 IsFloatBigger(rcContent.Height(), rcPlate.Height())) { | 2338 IsFloatBigger(rcContent.Height(), rcPlate.Height())) { |
2339 return TRUE; | 2339 return true; |
2340 } | 2340 } |
2341 | 2341 |
2342 if (IsFloatBigger(rcContent.Width(), rcPlate.Width())) | 2342 if (IsFloatBigger(rcContent.Width(), rcPlate.Width())) |
2343 return TRUE; | 2343 return true; |
2344 } | 2344 } |
2345 | 2345 |
2346 return FALSE; | 2346 return false; |
2347 } | 2347 } |
2348 | 2348 |
2349 FX_BOOL CFX_Edit::CanUndo() const { | 2349 bool CFX_Edit::CanUndo() const { |
2350 if (m_bEnableUndo) { | 2350 if (m_bEnableUndo) { |
2351 return m_Undo.CanUndo(); | 2351 return m_Undo.CanUndo(); |
2352 } | 2352 } |
2353 | 2353 |
2354 return FALSE; | 2354 return false; |
2355 } | 2355 } |
2356 | 2356 |
2357 FX_BOOL CFX_Edit::CanRedo() const { | 2357 bool CFX_Edit::CanRedo() const { |
2358 if (m_bEnableUndo) { | 2358 if (m_bEnableUndo) { |
2359 return m_Undo.CanRedo(); | 2359 return m_Undo.CanRedo(); |
2360 } | 2360 } |
2361 | 2361 |
2362 return FALSE; | 2362 return false; |
2363 } | 2363 } |
2364 | 2364 |
2365 void CFX_Edit::EnableRefresh(FX_BOOL bRefresh) { | 2365 void CFX_Edit::EnableRefresh(bool bRefresh) { |
2366 m_bEnableRefresh = bRefresh; | 2366 m_bEnableRefresh = bRefresh; |
2367 } | 2367 } |
2368 | 2368 |
2369 void CFX_Edit::EnableUndo(FX_BOOL bUndo) { | 2369 void CFX_Edit::EnableUndo(bool bUndo) { |
2370 m_bEnableUndo = bUndo; | 2370 m_bEnableUndo = bUndo; |
2371 } | 2371 } |
2372 | 2372 |
2373 void CFX_Edit::EnableOprNotify(FX_BOOL bNotify) { | 2373 void CFX_Edit::EnableOprNotify(bool bNotify) { |
2374 m_bOprNotify = bNotify; | 2374 m_bOprNotify = bNotify; |
2375 } | 2375 } |
2376 | 2376 |
2377 CPVT_WordPlace CFX_Edit::DoInsertText(const CPVT_WordPlace& place, | 2377 CPVT_WordPlace CFX_Edit::DoInsertText(const CPVT_WordPlace& place, |
2378 const CFX_WideString& sText, | 2378 const CFX_WideString& sText, |
2379 int32_t charset) { | 2379 int32_t charset) { |
2380 CPVT_WordPlace wp = place; | 2380 CPVT_WordPlace wp = place; |
2381 | 2381 |
2382 if (m_pVT->IsValid()) { | 2382 if (m_pVT->IsValid()) { |
2383 for (int32_t i = 0, sz = sText.GetLength(); i < sz; i++) { | 2383 for (int32_t i = 0, sz = sText.GetLength(); i < sz; i++) { |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2488 } | 2488 } |
2489 | 2489 |
2490 void CFX_Edit_Select::SetBeginPos(const CPVT_WordPlace& begin) { | 2490 void CFX_Edit_Select::SetBeginPos(const CPVT_WordPlace& begin) { |
2491 BeginPos = begin; | 2491 BeginPos = begin; |
2492 } | 2492 } |
2493 | 2493 |
2494 void CFX_Edit_Select::SetEndPos(const CPVT_WordPlace& end) { | 2494 void CFX_Edit_Select::SetEndPos(const CPVT_WordPlace& end) { |
2495 EndPos = end; | 2495 EndPos = end; |
2496 } | 2496 } |
2497 | 2497 |
2498 FX_BOOL CFX_Edit_Select::IsExist() const { | 2498 bool CFX_Edit_Select::IsExist() const { |
2499 return BeginPos != EndPos; | 2499 return BeginPos != EndPos; |
2500 } | 2500 } |
2501 | 2501 |
2502 CFX_Edit_RectArray::CFX_Edit_RectArray() {} | 2502 CFX_Edit_RectArray::CFX_Edit_RectArray() {} |
2503 | 2503 |
2504 CFX_Edit_RectArray::~CFX_Edit_RectArray() { | 2504 CFX_Edit_RectArray::~CFX_Edit_RectArray() { |
2505 Empty(); | 2505 Empty(); |
2506 } | 2506 } |
2507 | 2507 |
2508 void CFX_Edit_RectArray::Empty() { | 2508 void CFX_Edit_RectArray::Empty() { |
(...skipping 17 matching lines...) Expand all Loading... |
2526 int32_t CFX_Edit_RectArray::GetSize() const { | 2526 int32_t CFX_Edit_RectArray::GetSize() const { |
2527 return m_Rects.GetSize(); | 2527 return m_Rects.GetSize(); |
2528 } | 2528 } |
2529 | 2529 |
2530 CFX_FloatRect* CFX_Edit_RectArray::GetAt(int32_t nIndex) const { | 2530 CFX_FloatRect* CFX_Edit_RectArray::GetAt(int32_t nIndex) const { |
2531 if (nIndex < 0 || nIndex >= m_Rects.GetSize()) | 2531 if (nIndex < 0 || nIndex >= m_Rects.GetSize()) |
2532 return nullptr; | 2532 return nullptr; |
2533 | 2533 |
2534 return m_Rects.GetAt(nIndex); | 2534 return m_Rects.GetAt(nIndex); |
2535 } | 2535 } |
OLD | NEW |