34 Commits

Author SHA1 Message Date
Mike Beaton
0ad4a318b0 OcConsoleLib: Provide ConsoleFont option
to load custom .hex format console font file
2023-06-11 05:48:55 +01:00
Mike Beaton
5f2c525cc2 OcConsoleLib: Change out-of-range cursor handling to work round bug(?) in memtest86
- memtest86 does not re-read the text mode size after changing GOP resolution.
 - Possibly this is an issue in OC, in that this should not normally change? (But it is
   fundamental to Builtin renderer handling of console resolution that it will change,
   unless a fixed user mode size is specified.)
 - The only effect of this in memtest86 is that it attempts to place the white footer
   line of its text UI below the bottom of the screen; so this clamping, which seems
   reasonable anyway, completely works round it.
2023-05-18 09:16:01 +01:00
Mike Beaton
0df9d12630 OcConsoleLib: Ignore UIScale when required to reach minimum 80x25 text mode size 2023-05-18 09:16:01 +01:00
Mike Beaton
bc71bbf9ef OcConsoleLib: Add font pages
- Add back original ISO Latin font page 1
 - Add unicode box drawing and block element characters
2023-05-18 09:15:58 +01:00
Mike Beaton
301bde5d3d OcConsoleLib: Minor updates
- Remove long-standing unused ConsoleControlInstall method
 - Minor codestyle fix
 - Improve doc wording
2023-05-04 09:59:29 +01:00
Mike Beaton
065177ebb9 OcConsoleLib: Apply ConsoleMode console text resolution option to builtin text renderer 2023-05-04 09:59:29 +01:00
Mike Beaton
c8b93357b8 OcConsoleLib: Simplify use of builtin renderer uncontrolled mode
The renderer already (esp. since recent changes incl. reset to controlled on cls)
manages its own transitions to controlled, so we just need to indicate uncontrolled
in cases where something else has been rendering graphics
2023-05-04 09:59:22 +01:00
Mike Beaton
7feb7c98c3 OcConsoleLib: Builtin renderer updates
- Perform full clear screen on switch from graphics to text mode,
   if marked uncontrolled
 - Suppress remaining console coloured output (screen clear and
   cursor, text was already handled) if in graphics mode
 - Remain uncontrolled while in graphics mode
 - Improve builtin renderer screen size calculations
   o Although we appear to lose a small amount of height (i.e. up
     to one row) with the new font size scaled vertical padding,
     we were actually losing it anyway with the previous screen
     size calculation
 - Re-order initialisation of builtin mode
   o Avoid producing uncontrolled text with old text protocol,
     after resync screen clear of new controlled protocol
2023-05-03 22:21:11 +01:00
Mike Beaton
c1f0b9f169 OcConsoleLib: Implement InitialMode 2023-05-03 22:21:04 +01:00
Mike Beaton
216bdcedc3 OcConsoleLib: Builtin renderer updates
- Avoid additional clear screen when resyncing
 - Use same values to trigger full clear screen after background
   colour change as after mark uncontrolled
 - Only scroll used width when controlled
 - Reset controlled area after clear screen
 - Fix mConsoleMaxPosY init error for controlled mode
   o Present since 76e889f89af7ecdec0a8de191d7ded5856b338fb
 - Fix ConsoleControl wording in docs
 - Add ASSERTS and comments
2023-05-02 07:49:01 +01:00
Mike Beaton
acecdf5e7b Revert OcConsoleLib related parts of recent commits:
- Reverts part of commit 2439d58412c071cb735cde8a70c9ef964a095780.
 - Reverts commit a189bd53bc2ac1490dac7125a9ce11fd03571755.
 - Reverts part of commit b07843fe1d47454747ae4eda9ea0189aa9fb8c03.
2023-05-02 07:49:01 +01:00
Mike Beaton
2439d58412
OcConsoleLib: Prevent verbose boot text overwriting pre-existing graphics (#426)
- Clear console screen on change to console mode
 - Ensure entire screen is cleared at least once in console mode
   o Was not needed/was done by default, prior to a189bd53bc2ac1490dac7125a9ce11fd03571755
   o Remove GOP clear screen work-around no longer required with this change.
 - These changes improve EnableGop driver in the same way, so update version number
   o Add EnableGop version in UI section, to enable tool builders to track it
2023-02-22 02:01:39 +03:00
Mike Beaton
a189bd53bc OcConsoleLib: Do not clear screen on console reset if in graphics mode
Prevents clearing to console background colour when screen is in themed graphics mode
2023-01-29 23:20:28 +00:00
Mike Beaton
b07843fe1d OcConsoleLib: Prevent failure to properly start console in graphics mode
when previous console control protocol is non-existent or limited
2023-01-29 08:15:40 +00:00
PMheart
228f8ca1fb Codestyle: Apply codestyle changes with Uncrustify 2022-04-25 14:51:15 +02:00
dakanji
ba5eea2de4
OcConsoleLib: Improve error reporting with TextoutputBuiltin (#143)
closes acidanthera/bugtracker#1238
2020-10-29 12:21:43 +03:00
dakanji
f35b380675
Return Status on Setting Renderers (#115)
сloses acidanthera/bugtracker#1133
2020-09-04 00:13:03 +03:00
vit9696
d7d16127c5 OcConsoleLib: Add BuiltinText TextRenderer mode
Discovered on Lenovo V580 (i3 3120M)
2020-08-12 19:48:57 +03:00
vit9696
0937868839 Build: Fix some issues with MSVC compiler 2020-05-18 10:04:51 +03:00
vit9696
86b69367df OcConsoleLib: Fixed compatibility with blit-only GOP (e.g. OVMF Bochs) 2020-05-14 09:53:48 +03:00
vit9696
0ee57bdef1 OcConsoleLib: Fixed builtin text renderer failing to provide ConsoleControl 2020-05-14 09:43:07 +03:00
vit9696
4433c92895 OcConsoleLib: Added builtin text renderer compatibility with Shell page mode
For some reason UEFI Shell trashes Cursor positions of the TextOut protocol
even though the spec explicitly forbids this.

closes acidanthera/bugtracker#837
2020-05-11 04:44:51 +03:00
vit9696
76e889f89a OpenCanopy: Fix black splash with non-black bg 2020-05-10 23:03:45 +03:00
vit9696
8b5099bf1f Docs: Fixed launching Shell with text over it 2020-05-10 21:58:27 +03:00
vit9696
525b6a6ada OcConsoleLib: Fixed handling 24-bit screen resolutions 2020-04-26 06:28:30 +03:00
Download-Fritz
079070a29f Fix several issues (Coverity, Clang) 2020-04-07 17:44:21 +02:00
vit9696
372e881731 OcConsoleLib: Optimise the use of different background colors 2020-02-16 09:33:52 +03:00
vit9696
999c65e9a2 OcConsoleLib: Make Light Gray UI colour match Apple flavour 2020-02-16 04:20:21 +03:00
vit9696
debd83adc8 OcConsoleLib: Use UIScale variable for HiDPI mode 2020-02-16 02:52:53 +03:00
vit9696
a84c1521f6 OcConsoleLib: Fix builtin text renderer with different GOP modes 2020-02-13 17:07:46 +03:00
vit9696
338cf9d035 OcConsoleLib: Make text mode the default for builtin renderer and drop ProvideEarlyConsole 2020-02-13 03:29:39 +03:00
vit9696
0bc4415e10 OcConsoleLib: Switch to graphics mode by default 2020-02-09 19:48:40 +03:00
vit9696
4626f79025 OcConsoleLib: Fix installing ConsoleControl when none is present 2020-02-09 00:25:43 +03:00
vit9696
8fc88733a4 OcConsoleLib: New output implementation 2020-02-08 21:55:07 +03:00