Ignore:
Timestamp:
May 19, 2001, 3:50:19 PM (24 years ago)
Author:
sandervl
Message:

GetTextExtentPointA fix for strings > 512 chars

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gdi32/text.cpp

    r5609 r5755  
    1 /* $Id: text.cpp,v 1.19 2001-04-27 19:30:54 sandervl Exp $ */
     1/* $Id: text.cpp,v 1.20 2001-05-19 13:50:19 sandervl Exp $ */
    22
    33/*
     
    897897      return TRUE;
    898898   }
    899    if(cbString > 512) {
    900       dprintf(("ERROR: Oh, oh, string too long!!"));
    901       DebugInt3();
     899   if(cbString > 512)
     900   {
     901      DWORD cbStringNew;
     902      SIZE  newSize;
     903
     904      dprintf(("WARNING: string longer than 512 chars; splitting up"));
     905      lpsSize->cx = 0;
     906      lpsSize->cy = 0;
     907      while(cbString) {
     908         cbStringNew = min(500, cbString);
     909         rc = GetTextExtentPointA(hdc, lpsz, cbStringNew, &newSize);
     910         if(rc == FALSE) {
     911             return FALSE;
     912         }
     913         lpsSize->cx += newSize.cx;
     914         lpsSize->cy  = max(newSize.cy, lpsSize->cy);
     915         lpsz     += cbStringNew;
     916         cbString -= cbStringNew;
     917      }
     918      return TRUE;
    902919   }
    903920
Note: See TracChangeset for help on using the changeset viewer.