| Multiple platform support |
PTC currently support DOS and Win32 platforms. Linux, BSD and XWindows platform support is planned. Graphics code written using PTC can be ported between supported platforms without change.
| Portability and native speed |
PTC operates as a thin layer over the native graphical interface. Because it is so flexible it is able to take advantage of native quirks. For example, under Win32 GDI, PTC uses bottom-up HBITMAPs because of the speed boost that is gained. Under DirectX, PTC uses native DirectDraw surfaces to latch onto hardware accelerated BitBlts, Clears and screen updates.
| Native access when you need it |
PTC even allows native access for programmers
who need it. For example, under GDI you can access the HDC of the display
window using PTC::GetNative, and the HBITMAP of each bound surface using
Surface::GetNative. This means that you can get all the benefits of portable
code, but still have access to platform dependant functions.