blob: 802929c1bcde29c767a99e1afff7159c3c2bc3aa [file] [log] [blame]
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/cocoa/notifications/balloon_view_bridge.h"
#include "chrome/browser/ui/cocoa/notifications/balloon_controller.h"
#import "chrome/browser/ui/cocoa/notifications/balloon_view_host_mac.h"
#include "ui/gfx/size.h"
#import <Cocoa/Cocoa.h>
BalloonViewBridge::BalloonViewBridge() :
controller_(NULL) {
}
BalloonViewBridge::~BalloonViewBridge() {
}
void BalloonViewBridge::Close(bool by_user) {
[controller_ closeBalloon:by_user];
}
gfx::Size BalloonViewBridge::GetSize() const {
if (controller_)
return gfx::Size([controller_ desiredTotalWidth],
[controller_ desiredTotalHeight]);
else
return gfx::Size();
}
void BalloonViewBridge::RepositionToBalloon() {
[controller_ repositionToBalloon];
}
void BalloonViewBridge::Show(Balloon* balloon) {
controller_ = [[BalloonController alloc] initWithBalloon:balloon];
[controller_ setShouldCascadeWindows:NO];
[controller_ showWindow:nil];
}
BalloonHost* BalloonViewBridge::GetHost() const {
return [controller_ getHost];
}
void BalloonViewBridge::Update() {
[controller_ updateContents];
}