-
Notifications
You must be signed in to change notification settings - Fork 6
/
ImageAlert.cpp
61 lines (50 loc) · 1.31 KB
/
ImageAlert.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
* Copyright 2009-2012 Scott McCreary
* Based on BeVexed by DarkWyrm Copyright 2007-2009
*
* Distributed under terms of the MIT License.
*
*/
#include <Application.h>
#include <AppFileInfo.h>
#include <Roster.h>
#include <String.h>
#include <stdio.h>
#include <Screen.h>
#include <TranslationUtils.h>
#include "ImageAlert.h"
// In case I want to localize this later
#define TRANSLATE(x) x
ImageAlert::ImageAlert(const char *image, int32 format)
: BWindow(BRect(100,100,500,400),"", B_MODAL_WINDOW_LOOK,
B_MODAL_APP_WINDOW_FEEL,
B_NOT_ZOOMABLE | B_NOT_RESIZABLE)
{
BScreen screen;
BRect screenrect(screen.Frame());
AlertView *alertview=new AlertView(Bounds(),image, format);
AddChild(alertview);
MoveTo( (screenrect.Width()-Frame().Width())/2, (screenrect.Height()-Frame().Height())/2 );
}
AlertView::AlertView(BRect frame,const char *image, int32 format)
: BView (frame, "AlertView", B_FOLLOW_ALL, B_WILL_DRAW)
{
SetViewColor(126,126,190);
fLogo=BTranslationUtils::GetBitmap(format,image);
}
AlertView::~AlertView(void)
{
delete fLogo;
}
void AlertView::MouseDown(BPoint pt)
{
Window()->PostMessage(B_QUIT_REQUESTED);
}
void AlertView::AttachedToWindow(void)
{
Window()->ResizeTo(fLogo->Bounds().Width(),fLogo->Bounds().Height());
}
void AlertView::Draw(BRect update)
{
DrawBitmap(fLogo, BPoint(0,0));
}