Module: VRMediaViewContainer

Includes:
VRMessageHandler
Included in:
VRContainersSet, VRMediaViewModeNotifier
Defined in:
lib/vr/vrmmedia.rb

Constant Summary

Constants included from VRMessageHandler

VRMessageHandler::PREHANDLERSTR

Instance Method Summary collapse

Methods included from VRMessageHandler

#acceptEvents, #addHandler, #addNoRelayMessages, #controlmsg_dispatching, #deleteHandler, #msghandlerinit, #selfmsg_dispatching

Instance Method Details

#addControl(*args) ⇒ Object



80
81
82
83
84
85
# File 'lib/vr/vrmmedia.rb', line 80

def addControl(*args)
  @_vr_mediaviewers_hwnd={} unless defined?(@_vr_mediaviewers_hwnd)
  a=super
  @_vr_mediaviewers_hwnd[a.hWnd]=a if a.is_a?(VRMediaView)
  return a
end

#mediaviewcontainerinitObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/vr/vrmmedia.rb', line 46

def mediaviewcontainerinit
  addHandler(VRMediaView::MCIWNDM_NOTIFYMODE,
                     "mmnotifies",MSGTYPE::ARGPASS,nil)
  addHandler(VRMediaView::MCIWNDM_NOTIFYERROR,
                     "mmnotifies",MSGTYPE::ARGPASS,nil)
  addHandler(VRMediaView::MCIWNDM_NOTIFYSIZE,
                     "mmnotifies",MSGTYPE::ARGPASS,nil)
  addHandler(VRMediaView::MCIWNDM_NOTIFYMEDIA,
                     "mmnotifies",MSGTYPE::ARGPASS,nil)
  acceptEvents [ VRMediaView::MCIWNDM_NOTIFYMODE,
                 VRMediaView::MCIWNDM_NOTIFYSIZE,
                 VRMediaView::MCIWNDM_NOTIFYMEDIA,
                 VRMediaView::MCIWNDM_NOTIFYERROR  ]

  addNoRelayMessages [ VRMediaView::MCIWNDM_NOTIFYMODE,
                       VRMediaView::MCIWNDM_NOTIFYSIZE,
                       VRMediaView::MCIWNDM_NOTIFYMEDIA,
                       VRMediaView::MCIWNDM_NOTIFYERROR  ]
end

#self_mmnotifies(msg) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/vr/vrmmedia.rb', line 66

def self_mmnotifies(msg)
  ct=@_vr_mediaviewers_hwnd[msg.wParam]
  return unless ct
  messageid=msg.msg

  return unless ct._vr_mmhandlers and ct._vr_mmhandlers[messageid] 

  ct._vr_mmhandlers[messageid].each do |shandler|
    args=msgarg2handlerarg(shandler[1],msg,shandler[2])
    ct.__send__(shandler[0],*args) if ct.respond_to?(shandler[0])
    msg.retval = controlmsg_dispatching(ct,shandler[0],*args)
  end
end

#vrinitObject



41
42
43
44
# File 'lib/vr/vrmmedia.rb', line 41

def vrinit
  super
  mediaviewcontainerinit
end