Changeset 60 for trunk


Ignore:
Timestamp:
Jan 30, 2006, 10:07:37 PM (20 years ago)
Author:
dmik
Message:

Fixed: All text drawing functions were not able to draw strings longer than 512 chars (GpiCharString* limitation).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel/qfontengine_pm.cpp

    r20 r60  
    617617            if ( !nativexform && p->devh )
    618618                ptl.y = p->devh - (ptl.y + 1);
    619             GpiCharStringPosAt( ps, &ptl, NULL, options | CHS_VECTOR,
    620                 si->num_glyphs, cglyphs, (PLONG) advances );
     619            // draw glyphs in 512 char chunks: it's a GpiCharString* limitation
     620            GpiMove( ps, &ptl );
     621            for ( int i = 0; i < si->num_glyphs; i += 512 ) { 
     622                GpiCharStringPos( ps, NULL, options | CHS_VECTOR,
     623                    QMIN( si->num_glyphs - i, 512 ),  cglyphs, (PLONG) advances );
     624                cglyphs += 512;
     625                advances += 512;
     626            }
    621627            x += w;
    622628        }
Note: See TracChangeset for help on using the changeset viewer.