This is just copied framebuffer.{h,cpp} => fb_generic.{h,cpp}
The idea is to implement CFrameBuffer as generic framebuffer class that
does work on almost every hardware without acceleration and / or
hardware dependencies.
CFbAccel will be a derived class (and different on many architectures)
which implements the accelerated functions.
This does not yet compile, verbatim copies to track development history.
instead of including framebuffer.h almost everywhere, replace it with
class CFrameBuffer forward declarations and/or generic system includes.
Add a hack to define fb_pixel_t to config.h (one reason for
framebuffer.h includes was the fb_pixel_t define)
Static message window expects user interaction but in this case user
could be absent. and recordings could be running out of control.
These messages are only warnings and "to slow" warning is optional.
To avoid uncontrolled behavior of recordings, it should be enough to use messages with simple timeout.
- For the correct use of the changes should be built freetype
with the following settings:
#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
BS-Patch for freetype 2.5-2.7
-----------------------------
** include/freetype/config/ftoption.h **
-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */
+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
BS-Patch for freetype 2.7.1
---------------------------
** include/freetype/config/ftoption.h **
-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
Different font types could have different glyph heights,
Therfore static values seems not really senseful.
eg. chars like ÄÁÂÅÈÉÊËÌÍÎÏÑÒÓÕÖÙÛÜÝ could paint over defined height,
Note: However, depending of implementations, the font image may change.
Most likely this must be adapted to some parts.
Reduce the "deprecated function" warnings a bit when compiling against
recent ffmpeg releases. Just the drop-in-replacement "av_packet_unref"
which works with both old and new ffmpeg versions.
The other stuff needs rewrites which are not compatible with all ffmpeg
releases :-(
Replacing messagebox, hintbox_ext and some derivated parts with
basic class hintbox and derivated class CMsgBox. This should unify
window handling and avoids maintain of multiple classes with quasi
same purpose and adds more functionality.
TODO: fix and optimize details
CStreamRec is only used inside CRecordManager::Record, so it
can be implemented completely inside record.cpp. The positive
side effect is that avformat.h is not included everywhere (e.g.
from moviebrowser/mb.h) and thus AVFORMAT_CFLAGS does not need
to be added everywhere to fix build failures.