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