
INTRODUCTION
============
FloatPDF is intended for viewing magazines/books (i.e. any pdf) in a touchscreen based environment
simulating multi-touch without multi-touch with screen rotated into portrait mode :-).
But it can also be used with regular mouse, single button control only.

In touch screen mode, only one finger is needed :-) and its smooth and fast by using DirectX, not
only that but it is also a nice converter from PDF to TIF/JPG in the same process.

Not to mention the simplicity of it all. Not sure if such a viewer exists already out there,
but if it does, I'm sure its like shit :-)




THINGS TO KNOW
==============
- Requires minimum DirectX 9.0 installed in OS.
- Tested and works fine with OS XP/Vista/Win7 (may work in Win98/Win98SE/WinME/Win2000).
- Not tested on new age crap OS style a.k.a Win8/Win8.1/Win10 (don't want to try them, they really do
  suck in design, not to mention the intrusive Win10), but as long as DirectX 9.0 or later is installed,
  FloatPDF should work too.
- Works from 800x600 to 3840*2160 (4K) and beyond, no limits :-)

Nice overview for DirectX 9.0 support and which OS supports it, so, if you have older DirectX
installed, try one of these: http://www.falconfly.de/directx.htm




KEYBOARD FUNCTIONS - As this is primarly a touch screen software (no keyboard needed), but anyways:
==================
Escape Key on keyboard to Exit (or use the Exit button)
CTRL+C to copy text (if found, and PLAINTEXT button was clicked showing the text extracted on the page)

Note: On-screen keyboard layout has been set to Norwegian. You may change into UK layout by reading/editing the
FloatPDF.ini file, or add your own in the same style. Instructions are in the FloatPDF.ini file.




ABOUT
=====
FloatPDF is an optimized PDF based viewer, which in simple terms takes away
the unnecessary weight, load and concept from ordinary PDF viewers, such as;
acrobat Reader, Sumatra, FoxIt and all the others and goes back to the simple
logic: CONTENT IS ALL - SKIP THE REST.

After all, PDF's are primarly for reading 'books' in an convenient electronic
screen environment, if that being text novels to user manuals or magazines.

Problem is: They figured out 'we can do so much more than a book or paper,
so why we don't fill it with other useless/useful crap and bloat/slow down
the entire user experience in the same process'... I'm fed up !

So, I took away all the clutter of ordinary PDF readers and stripped it down
to viewing, reading and speed it all up while you are doing so. The result is
that each page of the PDF is converted into a full image, some automatic text
extraction and boil it down to; page back/forward, search function, thumbnails
and leave everything else out to die/dry.

I will let the user focus on reading whatever PDF they want instead of nag
requesters, lots of form shit and whatever crap they useally put into their
stinking non-focused software :-)

FloatPDF started its life back in 2011, in which time I started to download
thousands of scanned magazines that were specifically Commodore Computers
oriented. Basically I wanted an IPAD to do the reading job for me, but it
showed some weird pixel effects while loading, and was sluggish to pageflip.
The IPAD is a flawed and undersized device that does not do well in reading
typical full-size A4 or US LETTER format in 1:1 size, just because the physical
screen size is too small. Many years later, the SAMSUNG GALAXY 12.3 inch Tablet
appeared that can show a full-size 1:1 A4 page as-is, but, then again, who
spends money to buy expensive toys, when you can build it yourselves...

FloatPDF was intentionally an idea that would only serve my own invention that
consisted of a Windows Based mini-size computer pasted on the back of a 12 or
14/15 inch TFT/LCD screen with Single Touch support to navigate & zoom/pinch.

Naturally, during programming I only had a mouse to test my software with,
and realized that the software could be used with a regular mouse too as well.
Time passes a few years, and during 2015-2016, I finalized everything that once
was planned, and added a number of nice-to-have features without clutter it up
again. The result was a PORTRAIT PDF viewer with simple GUI and controls, that
works like a Multi-Touch screen but with a single point logic, mouse or finger.

The PORTRAIT mode is simple, it detects your desktop resolution and will use
its width as height, and height as width. Therefore, FloatPDF will work as
intended if you rotate your screen 90 degree clockwise, start FloatPDF, rotate
display physically to fit in hands as a typical tablet device and start reading.

Naturally, it means you have to strip apart your own LCD display and build
your own tablet device, by embedding a small Windows based computer on the back,
re-wire and attach a single touch screen, box it all up, remove keyboard and
mouse. Leave openings for reset/power buttons, power cable & usb-port.

You don't really need Wi-Fi or network, as all the PDF files you want to read
on your own tablet device will be handled by an USB stick naturally :-).

About now, you will realize that FloatPDF was created to serve such a nerdy,
DIY, hard-core purpose, and I have yet do hardware-design/built such an device
to show the full potentional of how genious FloatPDF can become !

For now, enjoy at least FloatPDF in its pure software form. When time permits
my webpage would eventually show such an homebuilt device in action, running
FloatPDF as I originally intended for my own pleasure. It just happend that
other people were interrested to see an DirectX/SpriteTexture optimized version
version for reading PDF files - as until now; did not/does not exist !

That would about sum it up for why FloatPDF was released for FREE out to the
public, in case somebody would find FloatPDF suitable with even just a portrait
screen, mouse navigating, single clicks and keyboard as a normal software would
behave and operate.



--------------------------------------------------------------------------------------------------------------------
This project is made possible by hunting down ideas and inspirations for solving a number of issues I had
(especially math problems, I suck at math):

For placing thumbnails in a certain size in a fill-screen-to-max tiles scenario:
http://www.forums.purebasic.com/english/viewtopic.php?f=13&t=33615&sid=3cf0f366b48b7ee76d3277d8851eb998&start=15

Move Smoothly EaseOut Math:
http://www.forums.purebasic.com/english/viewtopic.php?f=12&t=63770&hilit=Tween_ExpoEaseOut&sid=3cf0f366b48b7ee76d3277d8851eb998

Zoom relative to mouse position:
http://www.forums.purebasic.com/english/viewtopic.php?f=13&t=63706&hilit=zoom+relative+to+mouse+position&sid=3cf0f366b48b7ee76d3277d8851eb998

Conversion of PDF to PNG, PDF Info (properties of PDF file) and PDF Extract Text:
http://www.foolabs.com/xpdf/download.html
--------------------------------------------------------------------------------------------------------------------




THANKS GOES TO
==============
Demivec, USA
infratec, Germany

Both for helping me out solving the "Zoom relative to mouse position" in PureBasic forums (links above).
Their efforts together with my own existing code (specifically zoom based on mouse pointer location) merged into what you see today.






CONTACT
=======
post@stone-oakvalley-studios.com
http://www.stone-oakvalley-studios.com/0004_00_dashboard_index.php



KNOWN BUGS - This is afterall a private project and not intended initally for public release, so support is sporadic.
==========
FloatPDF may hang, and leave the pdf2png.exe from XPDF floating around in memory, resulting in needed brute force kill
processes or restart machine to remove the processes. It seems to happen if certain mouse / touch screen clicks
are performed (or loading another file) while the background process of creating PNG files from PDF is currently ongoing.
Basically the solution for now is; if you load a PDF file, let FloatPDF finish 100% - then start reading/zooming around. 
Next time you load the same PDF, the PDF is basically ignored as it will use the cached images instead. :-)

Thumbnails are sometimes scaled too small, too large, don't fit on screen - depending on the page size of original PDF versus amount of pages.
I have tested typically A4/LETTER sized PDF, landscape and portrait, pages 1-1000 and mostly they all are represented fine.

The cache might get messed up from time to time, if you experience wierd problems, simply delete the automatic generated directory
located under "CACHE/nnnnnnnnnn_filename.pdf/ directory and re-load your file. Let FloatPDF finish 100%.



HISTORY
=======
v1.0 - 10 January 2016:
Re-boot of this tool late 2015, but decided to use XPDF distro as-is, and use pdf2png.exe++internal conversion to jpg as-is to do stuff. 
Removed a bunch of old shit code and improved the functionality a bit for loading / detection of cache and such.
Reworked movement, zoom, and implemented smooth easeout stuff.
Removed 3D engine, as we can do this shit with simple Sprite 2D stuff, DirectX anyway!
Added some neat features like; thumbnails, pdftotext extraction with search function (finds only page reference, not location of word on page)
Also 32 and 64 bit executables available for the XPDF distro, automatic detection. Although FloatPDF_Reader itself is only 32bit,works the same on 64 bit
Made everything resolution aware including fonts, aspect ratios, graphics, buttons. Works from 640x480 to 3840*2160 (4K) and beyond, no limits :-)
Tested with 1-1000 page pdf in both PORTRAIT and LANDSCAPE.
Added CTRL+C to copy plain text from extracted pdf page (if anything).
Renamed to FloatPDF instead of FloatPDF Viewer (since my FloatLED was so successfull amongst users, why not keep it simple).
Created installer, and created keyboard layouts in INI file (Norwegian, United Kingdom). User can add their own easily by editing the INI file.


v0.9 - 2011-2012:
Internal working version but with customized pdftotiff.exe and other uglyness, done during 2011-2012  =  project abadoned
