1/*
2 * Copyright 2005, Haiku Inc.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Axel D��rfler, axeld@pinc-software.de
7 */
8
9
10#include <Application.h>
11#include <Window.h>
12#include <View.h>
13
14#include <WindowPrivate.h>
15
16#include <stdio.h>
17
18
19class View : public BView {
20	public:
21		View(BRect rect);
22		virtual ~View();
23
24		virtual void Draw(BRect updateRect);
25};
26
27
28View::View(BRect rect)
29	: BView(rect, "desktop view", B_FOLLOW_ALL, B_WILL_DRAW)
30{
31	SetViewColor(100, 100, 100);
32	SetHighColor(0, 0, 0);
33	SetLowColor(ViewColor());
34}
35
36
37View::~View()
38{
39}
40
41
42void
43View::Draw(BRect updateRect)
44{
45	MovePenTo(20, 30);
46	DrawString("Desktop Window");
47}
48
49
50//	#pragma mark -
51
52
53class Window : public BWindow {
54	public:
55		Window();
56		virtual ~Window();
57
58		virtual bool QuitRequested();
59};
60
61
62Window::Window()
63	: BWindow(BRect(100, 100, 400, 400), "DesktopWindow-Test",
64			(window_look)kDesktopWindowLook, (window_feel)kDesktopWindowFeel,
65			B_ASYNCHRONOUS_CONTROLS)
66{
67	BView *view = new View(Bounds());
68	AddChild(view);
69}
70
71
72Window::~Window()
73{
74}
75
76
77bool
78Window::QuitRequested()
79{
80	be_app->PostMessage(B_QUIT_REQUESTED);
81	return true;
82}
83
84
85//	#pragma mark -
86
87
88class Application : public BApplication {
89	public:
90		Application();
91
92		virtual void ReadyToRun();
93};
94
95
96Application::Application()
97	: BApplication("application/x-vnd.haiku-desktop_window")
98{
99}
100
101
102void
103Application::ReadyToRun()
104{
105	Window *window = new Window();
106	window->Show();
107}
108
109
110//	#pragma mark -
111
112
113int
114main(int argc, char **argv)
115{
116	Application app;// app;
117
118	app.Run();
119	return 0;
120}
121