boxpointer: Clean up reposition

Given that it's modifying state, there's no reason it can't be
using it instead. This makes it easier to use, so we aren't passing
in a bunch of instance variables every time.

https://bugzilla.gnome.org/show_bug.cgi?id=690608
This commit is contained in:
Jasper St. Pierre 2012-12-21 09:05:34 -05:00
parent 32ccb779c6
commit b14b3ab276

View File

@ -220,7 +220,7 @@ const BoxPointer = new Lang.Class({
this.bin.allocate(childBox, flags); this.bin.allocate(childBox, flags);
if (this._sourceActor && this._sourceActor.mapped) { if (this._sourceActor && this._sourceActor.mapped) {
this._reposition(this._sourceActor, this._arrowAlignment); this._reposition();
if (this._shouldFlip()) { if (this._shouldFlip()) {
switch (this._arrowSide) { switch (this._arrowSide) {
@ -237,7 +237,7 @@ const BoxPointer = new Lang.Class({
this._arrowSide = St.Side.LEFT; this._arrowSide = St.Side.LEFT;
break; break;
} }
this._reposition(this._sourceActor, this._arrowAlignment); this._reposition();
} }
} }
}, },
@ -417,7 +417,7 @@ const BoxPointer = new Lang.Class({
this._sourceActor = sourceActor; this._sourceActor = sourceActor;
this._arrowAlignment = alignment; this._arrowAlignment = alignment;
this._reposition(sourceActor, alignment); this._reposition();
}, },
setSourceAlignment: function(alignment) { setSourceAlignment: function(alignment) {
@ -429,7 +429,10 @@ const BoxPointer = new Lang.Class({
this.setPosition(this._sourceActor, this._arrowAlignment); this.setPosition(this._sourceActor, this._arrowAlignment);
}, },
_reposition: function(sourceActor, alignment) { _reposition: function() {
let sourceActor = this._sourceActor;
let alignment = this._arrowAlignment;
// Position correctly relative to the sourceActor // Position correctly relative to the sourceActor
let sourceNode = sourceActor.get_theme_node(); let sourceNode = sourceActor.get_theme_node();
let sourceContentBox = sourceNode.get_content_box(sourceActor.get_allocation_box()); let sourceContentBox = sourceNode.get_content_box(sourceActor.get_allocation_box());