Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1557)

Unified Diff: chrome/browser/ui/gtk/slide_animator_gtk.cc

Issue 231733005: Delete the GTK+ port of Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remerge to ToT Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/gtk/slide_animator_gtk.cc
diff --git a/chrome/browser/ui/gtk/slide_animator_gtk.cc b/chrome/browser/ui/gtk/slide_animator_gtk.cc
deleted file mode 100644
index 7e9b3eca8e5adf907306affecaf8bf0125e5afdf..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/gtk/slide_animator_gtk.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright (c) 2012 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/gtk/slide_animator_gtk.h"
-
-#include "ui/base/gtk/gtk_expanded_container.h"
-#include "ui/gfx/animation/animation.h"
-#include "ui/gfx/animation/slide_animation.h"
-
-namespace {
-
-void OnChildSizeRequest(GtkWidget* expanded,
- GtkWidget* child,
- GtkRequisition* requisition,
- gpointer control_child_size) {
- // If |control_child_size| is true, then we want |child_| to match the width
- // of the |widget_|, but the height of |child_| should not change.
- if (!GPOINTER_TO_INT(control_child_size)) {
- requisition->width = -1;
- }
- requisition->height = -1;
-}
-
-} // namespace
-
-bool SlideAnimatorGtk::animations_enabled_ = true;
-
-SlideAnimatorGtk::SlideAnimatorGtk(GtkWidget* child,
- Direction direction,
- int duration,
- bool linear,
- bool control_child_size,
- Delegate* delegate)
- : child_(child),
- direction_(direction),
- delegate_(delegate) {
- widget_.Own(gtk_expanded_container_new());
- gtk_container_add(GTK_CONTAINER(widget_.get()), child);
- gtk_widget_set_size_request(widget_.get(), -1, 0);
-
- // If the child requests it, we will manually set the size request for
- // |child_| every time the |widget_| changes sizes. This is mainly useful
- // for bars, where we want the child to expand to fill all available space.
- g_signal_connect(widget_.get(), "child-size-request",
- G_CALLBACK(OnChildSizeRequest),
- GINT_TO_POINTER(control_child_size));
-
- // We connect to this signal to set an initial position for our child widget.
- // The reason we connect to this signal rather than setting the initial
- // position here is that the widget is currently unallocated and may not
- // even have a size request.
- g_signal_connect(child, "size-allocate",
- G_CALLBACK(OnChildSizeAllocate), this);
-
- child_needs_move_ = (direction == DOWN);
-
- animation_.reset(new gfx::SlideAnimation(this));
- // Default tween type is EASE_OUT.
- if (linear)
- animation_->SetTweenType(gfx::Tween::LINEAR);
- if (duration != 0)
- animation_->SetSlideDuration(duration);
-}
-
-SlideAnimatorGtk::~SlideAnimatorGtk() {
- widget_.Destroy();
-}
-
-void SlideAnimatorGtk::Open() {
- if (!animations_enabled_)
- return OpenWithoutAnimation();
-
- gtk_widget_show(widget_.get());
- animation_->Show();
-}
-
-void SlideAnimatorGtk::OpenWithoutAnimation() {
- gtk_widget_show(widget_.get());
- animation_->Reset(1.0);
- animation_->Show();
- AnimationProgressed(animation_.get());
-}
-
-void SlideAnimatorGtk::Close() {
- if (!animations_enabled_)
- return CloseWithoutAnimation();
-
- animation_->Hide();
-}
-
-void SlideAnimatorGtk::End() {
- animation_->End();
-}
-
-void SlideAnimatorGtk::CloseWithoutAnimation() {
- animation_->Reset(0.0);
- animation_->Hide();
- AnimationProgressed(animation_.get());
- gtk_widget_hide(widget_.get());
-}
-
-bool SlideAnimatorGtk::IsShowing() {
- return animation_->IsShowing();
-}
-
-bool SlideAnimatorGtk::IsClosing() {
- return animation_->IsClosing();
-}
-
-bool SlideAnimatorGtk::IsAnimating() {
- return animation_->is_animating();
-}
-
-void SlideAnimatorGtk::AnimationProgressed(const gfx::Animation* animation) {
- GtkRequisition req;
- gtk_widget_size_request(child_, &req);
-
- int showing_height = static_cast<int>(req.height *
- animation_->GetCurrentValue());
- if (direction_ == DOWN) {
- if (gtk_widget_get_parent(widget_.get())) {
- gtk_expanded_container_move(GTK_EXPANDED_CONTAINER(widget_.get()),
- child_, 0, showing_height - req.height);
- }
- child_needs_move_ = false;
- }
- gtk_widget_set_size_request(widget_.get(), -1, showing_height);
-}
-
-void SlideAnimatorGtk::AnimationEnded(const gfx::Animation* animation) {
- if (!animation_->IsShowing()) {
- gtk_widget_hide(widget_.get());
- if (delegate_)
- delegate_->Closed();
- }
-}
-
-// static
-void SlideAnimatorGtk::SetAnimationsForTesting(bool enable) {
- animations_enabled_ = enable;
-}
-
-// static
-void SlideAnimatorGtk::OnChildSizeAllocate(GtkWidget* child,
- GtkAllocation* allocation,
- SlideAnimatorGtk* slider) {
- if (slider->child_needs_move_) {
- gtk_expanded_container_move(GTK_EXPANDED_CONTAINER(slider->widget()),
- child, 0, -allocation->height);
- slider->child_needs_move_ = false;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698