public static UnsafeGetController ( |
||
box | ||
return | object |
public void dbugPaint(PaintVisitor p, RectangleF r) { if (!PaintVisitor.dbugDrawWireFrame) { return; } // var htmlE = CssBox.UnsafeGetController(this); if (htmlE == null) { //anonymous box //Font f = new Font("tahoma", 10); //p.Gfx.DrawString(this.__aa_dbugId.ToString(), f, System.Drawing.Color.Black, // new PointF(r.Left + 10, r.Top + 10), new SizeF(r.Width, r.Height)); //f.Dispose(); p.dbugDrawDiagonalBox(Color.Gray, r.Left, r.Top, r.Right, r.Bottom); } else { Color color = Color.Green; switch (this._cssDisplay) { case Css.CssDisplay.TableCell: color = Color.OrangeRed; break; } p.dbugDrawDiagonalBox(color, r.Left, r.Top, r.Right, r.Bottom); } }
public void dbugEnterNewContext(CssBox box, dbugPaintVisitorContextName contextName) { if (this.dbugEnableLogRecord) { var controller = CssBox.UnsafeGetController(box); //if (box.__aa_dbugId == 7) //{ //} dbuglogRecords.Add(new string('>', dbugIndentLevel) + dbugIndentLevel.ToString() + "x:" + box.Left + ",y:" + box.Top + ",w:" + box.VisualWidth + "h:" + box.VisualHeight + " " + box.ToString() + ",id:" + box.__aa_dbugId); dbugIndentLevel++; } }
public void dbugEnterNewContext(CssBox box, PaintVisitorContextName contextName) { if (this.dbugEnableLogRecord) { var controller = CssBox.UnsafeGetController(box); //if (box.__aa_dbugId == 7) //{ //} dbugLogRecords.Add(new string('>', dbugIndentLevel) + dbugIndentLevel.ToString() + "[" + _drawBoard.CurrentClipRect + "] " + "(" + this.CanvasOriginX + "," + this.CanvasOriginY + ") " + "x:" + box.Left + ",y:" + box.Top + ",w:" + box.VisualWidth + "h:" + box.VisualHeight + " " + box.ToString() + ",id:" + box.__aa_dbugId); dbugIndentLevel++; } }
static void ForEachEventListenerBubbleUp(UIEventArgs e, CssBoxHitChain hitChain, EventListenerAction listenerAction) { for (int i = hitChain.Count - 1; i >= 0; --i) { //propagate up var hitInfo = hitChain.GetHitInfo(i); IEventListener controller = null; switch (hitInfo.hitObjectKind) { default: { continue; } case HitObjectKind.Run: { CssRun run = (CssRun)hitInfo.hitObject; controller = CssBox.UnsafeGetController(run.OwnerBox) as IEventListener; } break; case HitObjectKind.CssBox: { CssBox box = (CssBox)hitInfo.hitObject; controller = CssBox.UnsafeGetController(box) as IEventListener; } break; } //--------------------- if (controller != null) { //found controller if (e.SourceHitElement == null) { e.SourceHitElement = controller; } e.CurrentContextElement = controller; e.SetLocation(hitInfo.localX, hitInfo.localY); if (listenerAction()) { return; } } } }
static void ForEachOnlyEventPortalBubbleUp(UIEventArgs e, CssBoxHitChain hitPointChain, EventPortalAction eventPortalAction) { //only listener that need tunnel down for (int i = hitPointChain.Count - 1; i >= 0; --i) { //propagate up var hitInfo = hitPointChain.GetHitInfo(i); IEventPortal controller = null; switch (hitInfo.hitObjectKind) { default: { continue; } case HitObjectKind.Run: { CssRun run = (CssRun)hitInfo.hitObject; controller = CssBox.UnsafeGetController(run.OwnerBox) as IEventPortal; } break; case HitObjectKind.CssBox: { CssBox box = (CssBox)hitInfo.hitObject; controller = CssBox.UnsafeGetController(box) as IEventPortal; } break; } //--------------------- if (controller != null) { e.SetLocation(hitInfo.localX, hitInfo.localY); if (eventPortalAction(controller)) { return; } } } }