TaskbarWindow.cpp 728 B

1234567891011121314151617181920212223242526272829
  1. #include "TaskbarWindow.h"
  2. #include "TaskbarWidget.h"
  3. #include <LibGUI/GWindow.h>
  4. #include <LibGUI/GDesktop.h>
  5. #include <stdio.h>
  6. TaskbarWindow::TaskbarWindow()
  7. {
  8. set_window_type(GWindowType::Taskbar);
  9. set_title("Taskbar");
  10. set_should_exit_event_loop_on_close(true);
  11. on_screen_rect_change(GDesktop::the().rect());
  12. GDesktop::the().on_rect_change = [this] (const Rect& rect) { on_screen_rect_change(rect); };
  13. auto* widget = new TaskbarWidget;
  14. set_main_widget(widget);
  15. }
  16. TaskbarWindow::~TaskbarWindow()
  17. {
  18. }
  19. void TaskbarWindow::on_screen_rect_change(const Rect& rect)
  20. {
  21. Rect new_rect { rect.x(), rect.bottom() - taskbar_height() + 1, rect.width(), taskbar_height() };
  22. set_rect(new_rect);
  23. }