Books FYSOS: The Graphical User Interface Books Benjamin David Lunt 1st Edition (Released: 2016 July 04) ISBN-13: 978-1535114608 ISBN-10: 1535114606 BuyAvailable at Amazon, Kindle(1), or your favorite online book source Buy Volume Six of a series of books on Operating System Design Comments See below for customer comments Comments Errata View the Errata Errata
FYSOS: The Graphical User InterfaceThis book is Volume 6 of the series, FYSOS: Operating System Design, and will show the reader how to draw to the VESA screen, creating windows, controls, buttons, text objects, progress bars, and many other types of objects, allowing the mouse cursor to manipulate these objects. The book explains things like the common Message Box, how to create the object, including an optional icon, text message, and one to three buttons. The book explains events, how to send and receive these events, and what to do with them. All of this is done without any outside help, such as operating system calls, though does call the video BIOS to retreive the VESA video information. The companion CD-ROM contains complete source code of each example within the book, showing how to accomplish these tasks, as well as a complete demo GUI system, showing all of the controls and objects, how to manipulate them and move them about the screen. This source code is essential to the book so that you may follow along and see just how to perform the task at hand. This book, and its companion series of books, does not expect you to build the next great wonder of the computer world. It simply will help you with your interest in controlling the computer's hardware, from the point the BIOS releases execution to your boot code to the point of a fully working Graphical User Interface. It is not required that you know much about operating system design, though a good knowledge of C Programming Language and a moderate knowledge of an Intel/AMD x86 computer's hardware is expected to use this book.

Information Information in the book or on the CD-ROM may include Information
148 pages • Detecting the video information, including screen size and color depth • Manipulating image files • A demo GUI system to show how to use these items • Detailed source code to the demo GUI system • Does not use a third party GUI or graphics program • Everything is done within the included source code • Is a self contained GUI demo app with all source included It is essential that you request the CDROM so that you can follow along in the book. Without the source code to the GUI Demo app, you may not understand what is discussed within the book. The source code is the key to understanding the process.
I have a few screen shots of the GUI Demo app in use along with the executable part (no source) of the app shown below so that you might be able to see the process and decide if this book is right for you. Here are some examples of what the current FYSOS code does, with a simplified demo linked below: Screenshot: Desktop view with Menus Screenshot: Desktop view with many Message Boxes Screenshot: Desktop view with Transparent Titlebars Screenshot: Misc Desktop view (3rd and 4th images in row at bottom left, animate) Screenshot: Misc Desktop view (with calculator app) Screenshot: A Terminal (DOS like) view. FontEdit: Screenshot: 'H' in the LucidaC Font Screenshot: 'A' in the Courier New Font GUI Demo code: Please see this page for instructions on getting a demo with source.
CD Included The Companion CD-ROM CD Included
The companion CD-ROM is no longer available due to the ease of access to the internet. With that being said, the source code is available via github. See Appendix A for the structure and contents of this repository, which will be updated when time, neccesity, and/or interest allows.
Table of Contents Table of Contents Table of Contents
Introduction Part 1 1. The GUI Overview 2. The Video Screen 3. The Bitmap Object 4. The Pointing Device 5. Base Constructs 6. Getting Started 7. Object Creation 8. Events 9. Most Used Functions 10. Remaining Notes Part 2 11. Fonts 12. Images 13. A Message Box 14. The Button Object 15. A Progress Bar 16. The OnOff Object 17. The Menu System 18. Last Minute Notes Appendix A - Disc Contents Appendix B - Included Utilities/Source Code Appendix C - Tables and Figures Appendix X - For More Information Bibliography A more detailed Table of Contents (pdf), stripped directly out of the book.
User Comments User Comments User Comments