DynaPDF Manual - Page 27
Previous Page 26 Index Next Page 28
Language Bindings
Page 27 of 839
The above settings are for Windows Forms Apps. Note that this is how it works today,
tomorrow you must maybe change other settings.
WPF and UWP apps come out of the box with high dpi support but using native code for UI
elements in WPF or UWP is difficult and not recommended. WPF and UWP apps function more
or less like a web site. When speed is no concern it is better use pure .Net code in these
environments.
Scrolling issues on high dpi devices
Scrolling issues are one of the major issues on high dpi devices. Almost every application scrolls
differently on Windows 10. Some scroll way to fast, others scroll too slow, and again others are
stuttering or have weird scroll behavior.
To avoid scrolling issues is probably best to get users a chance to adjust the scrolling speed in
your application since the settings of the system are often not helpful.
If you use the rendering control of DynaPDF or the page cache then you can adjust the scroll
line delta with SetScrollLineDelta(). Smooth scrolling is not yet supported.
Static contents in dpi aware applications
Something that must be considered when turning on high dpi support is that static contents like
the application icon or cursors must be delivered in different sizes since no scaling occurs.
Especially cursors are critical because an unscaled cursor made for Windows 7, for example,
becomes very small. Microsoft recommends to add at least icons and cursors for the resolutions
96, 120, 144, and 196 DPI for desktop apps. You'll find many tools in the internet which help to
create icons and curors in different sizes.
Language bindings
Differences between DynaPDF interfaces
DynaPDF can be used with most programming languages which support standard DLLs. The
usage of DynaPDF is nearly identical in all programming languages. However, this help file
describes all DynaPDF functions in C syntax.
All DynaPDF functions contain an instance pointer of the active PDF instance (const PPDF*
IPDF) as first parameter. This pointer is hidden for the user in the programming languages
Visual Basic, Visual Basic .Net, Visual C#, and Delphi. We deliver native wrapper classes for
these programming languages which handle the PDF instances automatically.
However, this help file describes the raw API of DynaPDF that is used by the programming
languages C and C++. The C/C++ interface is a direct interface that does not encapsulate the
DynaPDF API into a class or other structures to improve processing speed.
Previous topic: DPI Aware .Net applications, Enabling High DPI support in Windows Forms Apps
Next topic: Embarcadero C++ Builder