     _preventDefault = true
   }
 
-  public mutating func cancelPropagation() {
-    _cancelPropagation = true
+  public mutating func stopPropagation() {
+    _stopPropagation = true
+  }
+
+  public mutating func stopImmediatePropagation() {
+    _stopImmediatePropagation = true
   }
 
   public static func new(ev: SDL_Event) -> SEvent {
     return SEvent(sdlEvent: ev, _preventDefault: false,
-        _cancelPropagation: false)
+        _stopPropagation: false, _stopImmediatePropagation: false)
   }
 
 }

    mainDiv.expandWidth = true
    mainDiv.expandHeight = true

    try fn()
// SDL_StartTextInput()
// var textRect = SDL_Rect(x: 10, y: 10, w: 100, h: 30)


  public let sdlEvent: SDL_Event
  var _preventDefault: Bool
  var _stopPropagation: Bool
  var _stopImmediatePropagation: Bool

  public func textAsString() -> String? {
    var t = sdlEvent.text
