1#include <stdio.h>
2#include <string.h>
3
4#include <Application.h>
5#include <Message.h>
6#include <Shape.h>
7#include <View.h>
8#include <Window.h>
9
10
11static const char* kAppSignature = "application/x.vnd-Haiku.DrawStringOffsets";
12
13
14class TestView : public BView {
15public:
16								TestView(BRect frame, const char* name,
17									uint32 resizeFlags, uint32 flags);
18
19	virtual	void				Draw(BRect updateRect);
20};
21
22
23TestView::TestView(BRect frame, const char* name, uint32 resizeFlags,
24		uint32 flags)
25	:
26	BView(frame, name, resizeFlags, flags)
27{
28}
29
30
31void
32TestView::Draw(BRect updateRect)
33{
34	BPoint offsets[5];
35	offsets[0].x = 10;
36	offsets[0].y = 10;
37	offsets[1].x = 15;
38	offsets[1].y = 10;
39	offsets[2].x = 20;
40	offsets[2].y = 18;
41	offsets[3].x = 23;
42	offsets[3].y = 12;
43	offsets[4].x = 30;
44	offsets[4].y = 10;
45
46	DrawString("Hello", offsets, 5);
47}
48
49
50// #pragma mark -
51
52
53int
54main(int argc, char** argv)
55{
56	BApplication app(kAppSignature);
57
58	BWindow* window = new BWindow(BRect(50.0, 50.0, 300.0, 250.0),
59		"DrawString() with offsets", B_TITLED_WINDOW,
60		B_ASYNCHRONOUS_CONTROLS | B_QUIT_ON_WINDOW_CLOSE);
61
62	BView* view = new TestView(window->Bounds(), "test", B_FOLLOW_ALL,
63		B_WILL_DRAW);
64	window->AddChild(view);
65
66	window->Show();
67
68	app.Run();
69	return 0;
70}
71