summaryrefslogtreecommitdiffstats
path: root/minuitwrp/graphics.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-01-27Update minuitwrp graphics in line with latest minuiEthan Yonker1-754/+0
Note: events.cpp is still old code renamed to cpp to make it easier to call functions like gr_fb_width(). I had to modify AOSP fbdev code to provide a separate memory surface for drawing to as drawing directly to the framebuffer resulted in rendering taking about 5 times longer. I also modified AOSP adf code to provide a separate memory surface for drawing for the same performance reasons. The Nexus 9 supports adf graphics. Overlay graphics work on at least one device. Overlay provides a separate memory buffer already so performance is good. I do not have a drm device yet that I know of. I made some attempt to update the drm code to determine the correct pixel format based on the drm graphics format, but what is available in pixel flinger and what is available in drm do not line up all that well. Reports are that the Pixel C is using drm graphics, but performance is slow, likely due to the use of a mmap instead of a memory buffyer. Change-Id: Ibd45bccca6ac2cb826037aa9b2aa5065cf683eed
2015-10-16Allow text to scale to fitEthan Yonker1-20/+73
Change-Id: Iacd4bb78f551b51d092ecde09521b5541e7dadcd
2015-10-15Remove support for non-TTF fontsEthan Yonker1-267/+18
This patch set removes support in TWRP for the old .dat file format as well as support for the AOSP style fonts in header files. We need TTF for scaling. Note that the old AOSP style header font is still supported in minui which is not used by TWRP. Change-Id: I6124a3333d479f1fc668138f7e32c4be9b519552
2015-10-14Add support for RGBA_8888 pixel formatKra1o51-0/+15
Change-Id: Ia15d49e51cad5bc8a3291975e1ff515a2b1c419c
2015-06-29Add flag to disable double bufferingKra1o51-0/+4
Some devices don't support double buffering, so add the flag TW_DISABLE_DOUBLE_BUFFERING to disable it Change-Id: Ia9c233fa229ae9c221a6c6f219b216d1753052f4
2015-06-17framebuffer: s6 edge takes a little lomger to initialize fb0jenkins1-1/+2
Change-Id: I48a5b25a227afb8637fcce7e4a1e2fc6bcc56b03
2015-03-13Make TWRP compile for x86-64 CPU targetEthan Yonker1-2/+7
Also add a short while loop to wait for fb0 to be created as was needed on the x86-64 target for the Android emulator. Change-Id: Ib1b87bea028ac3eac0541283334a0157cdfbce11
2015-03-11Properly disable GGL_TEXTURE_2D after using it in minuitwrpVojtech Bocek1-1/+7
Change-Id: Ib100ccf3c8f6c622beb40b37ba3f61aad69d7d93 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-03-11Implement gr_line() and gr_render_circle()Vojtech Bocek1-0/+45
Change-Id: I63c8dcfa276bbeb550ca051a3a1a0646a2d07dc6 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-02-15gui: support scrollable lists without headersthat1-0/+14
If the <header> element doesn't exist, the header is not drawn. - minuitwrp: add function for clipping all drawing to a rectangle ...and another one to cancel it. Change-Id: If0f688a5debee6ebd9c457999fe571705a42c5cc
2015-01-30Fixed screen flipping for devices where xres_virtual > xresBogdan Seniuc1-8/+6
Change-Id: I3efc10e2c9759a358ded5b46f6125958e6d6bd66
2015-01-22Use /twres instead of /res for theme resourcesDees Troy1-1/+1
AOSP and other ROM trees now do a rm -rf of the res folder during the ramdisk creation process that removes the TWRP resources. Using /twres instead of /res works around this issue making TWRP more compatible with AOSP and other build trees. Change-Id: I0d4c7e06ca381ac5aa0069b6f2b8c47f7dec49e7
2014-11-12Make TWRP compile for arm64Ethan Yonker1-2/+2
-Remove dosfstools for arm64 until we can make it compile -Fix TW_USE_TOOLBOX flag to work again -Fix symlinking and handling of sh when using mksh -Fix legacy properties to find futex_wake function -Fix libcrecovery to not use bsd_signal anymore -Fix rules for building with regards to libcrecovery -Update toolbox_recovery rules to compile tools in lollipop -Fix a few compile errors specific to arm64 Testers report that TWRP does not boot on Nexus 9 and we fail to get a shell for adb shell. At least it compiles without errors. Change-Id: I286be8628defb60cc527b8a548c0bdfcb0ebb574
2014-11-06Revert "Make libminuitwrp compile"Dees Troy1-32/+2
This reverts commit a27d02fab9d6feb793cdcd6146f2655658f36f2b. Change-Id: I62d143044749f101cd70fef048057f896e46c208
2014-11-06Make libminuitwrp compileEthan Yonker1-2/+32
Odds are this is horribly broken, but we are not able to work on it just yet. Change-Id: I8cd12a6dba7957b1ccc1275b8d72c24797856db0
2014-10-14Add support for TrueType fontsVojtech Bocek1-59/+42
* Keeps original font system in place * Uses the same API as original font system: - You can render only one line at a time - You can only use one font and color for one gr_text* call * Caches all rendered text, with a string cache limited to 400 entries, then it trucates to 250, which results in memory usage hovering around 5-10MB Change-Id: I36107b9dcd8d57bae4486fce8b8f64e49ef3d906 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-08-10TW_SCREEN_BLANK_ON_BOOT will jolt the screen/touch driver.xNUTx1-2/+5
If on the default settings the screen will only kick in to action AFTER it has gone to sleep once and has been woken up again with a key press, this will be needed to set to 'true' in the BoardConfig.mk The code was already there, Dees_Troy and I thought it would be nice to make it a switch to control at compile time. Change-Id: I5116a27afe9cba57122761c192ea3ee153d98162
2014-08-07Stop memory management on blanking overlay graphicsDees Troy1-5/+5
This prevents a crash in TWRP when trying to blank the screen on devices that are using overlay graphics. Change-Id: I155868616ffa1b211e97be97e4abe8b03dad7ca0
2014-07-09Implement "take a screenshot" featureVojtech Bocek1-2/+2
* Like in android - press power+volume down, screenshots are saved in /sdcard/Pictures/Screenshots (if /sdcard is mounted) or /tmp Change-Id: Iaefa15b11a1d5fdfac57d77388db1621f378a8d4 Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-04-03Fix overlay graphics detectionDees Troy1-1/+3
Change-Id: Ic1ef3f6a4e9c74efb07d8a0103543d124567f0d4
2014-04-01Support Qualcomm overlay graphics in recoveryEthan Yonker1-30/+130
Change-Id: Ia75c34ab1a45b7c8802c902906198517aa3437d5
2014-02-26Add word wrap to console output and fix scrolling in consoleDees Troy1-0/+24
Change-Id: Ibcf89952ee1391350c715f1ec82cf0cdb9b0ca7d
2014-02-06Disable alpha blending for non-transparent bitmapsVojtech Bocek1-1/+9
* The difference isn't as big as there are not many big non-transparent bitmaps in TWRP, on install screen on flo it is about 5-10ms better. Only place where the difference is noticable is keyboard, which is pretty big non-transparent bitmap, where it speeds up the render by ~40ms on flo. Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I4c51ef957ae2a1829ada4eb566e9964f708efcf0
2014-02-06Disable alpha blending for fully opaque rectanglesVojtech Bocek1-0/+10
* This makes the rendering several times faster, because the giant rectangle used as background no longer uses expensive blending calculations, and there are also many other big rectangles which don't need it (fileselector, ...). * Results on hammerhead: - WITHOUT the patch - scrolling in fileselector on install page: I:render 67 ms, flip 6 ms, total 73 ms I:render 82 ms, flip 6 ms, total 88 ms I:render 81 ms, flip 6 ms, total 87 ms I:render 80 ms, flip 5 ms, total 85 ms - WITH the patch - scrolling in fileselector on install page: I:render 32 ms, flip 6 ms, total 38 ms I:render 16 ms, flip 6 ms, total 22 ms I:render 16 ms, flip 7 ms, total 23 ms I:render 18 ms, flip 3 ms, total 21 ms I:render 18 ms, flip 2 ms, total 20 ms * On flo, the results are even more noticable - 160ms -> 40ms Signed-off-by: Vojtech Bocek <vbocek@gmail.com> Change-Id: I5685763ba21745d7cd93133adf5f0bcb4c9a581f
2013-07-03graphics: update BOARD_HAS_FLIPPED_SCREEN function to work with 16bpp or 32bppHashcode1-4/+8
Change-Id: I93391596eece6b08ecf2e54f443e9821573cb871
2013-04-04Move all AOSP code out of recovery binaryDees_Troy1-9/+9
Improves license compatibility between GPL and Apache Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
2013-03-01Add 2 second pre-dim and bugfix blank timerDees_Troy1-1/+2
2 second predim code courtesy of bigbiff Change-Id: I052ac422f78dc82c05f58c188587534b800b935a
2012-11-21minuitwrp: fix screen update issueHiemanshu Sharma1-2/+4
2012-11-21graphics: add support for "single buffering"Hiemanshu Sharma1-2/+10
2012-09-28Fix compiler warningsDees_Troy1-2/+2
2012-09-05TWRP-ify AOSP codeDees_Troy1-0/+716
Pull in most TWRP sources Stub out partition management code Make it compile -- probably will not boot Kind of a mess but have to start somewhere