vout.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:4k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * vout.h: MacOS X interface module
  3.  *****************************************************************************
  4.  * Copyright (C) 2001-2007 the VideoLAN team
  5.  * $Id: 6b57f7a523e0f5303fae5698c55162bc7f1551c6 $
  6.  *
  7.  * Authors: Colin Delacroix <colin@zoy.org>
  8.  *          Florian G. Pflug <fgp@phlo.org>
  9.  *          Jon Lech Johansen <jon-vl@nanocrew.net>
  10.  *          Eric Petit <titer@m0k.org>
  11.  *          Benjamin Pracht <bigben at videolan dot org>
  12.  *
  13.  * This program is free software; you can redistribute it and/or modify
  14.  * it under the terms of the GNU General Public License as published by
  15.  * the Free Software Foundation; either version 2 of the License, or
  16.  * (at your option) any later version.
  17.  *
  18.  * This program is distributed in the hope that it will be useful,
  19.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21.  * GNU General Public License for more details.
  22.  *
  23.  * You should have received a copy of the GNU General Public License
  24.  * along with this program; if not, write to the Free Software
  25.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  26.  *****************************************************************************/
  27. #import "misc.h"
  28. /*****************************************************************************
  29.  * VLCEmbeddedList interface
  30.  *****************************************************************************/
  31. @interface VLCEmbeddedList : NSObject
  32. {
  33.     NSMutableArray * o_embedded_array;
  34. }
  35. - (id)embeddedVout;
  36. - (void)releaseEmbeddedVout: (id)o_vout_view;
  37. - (void)addEmbeddedVout: (id)o_vout_view;
  38. - (BOOL)windowContainsEmbedded: (id)o_window;
  39. - (id)viewForWindow: (id)o_window;
  40. @end
  41. /*****************************************************************************
  42.  * VLCVoutView interface
  43.  *****************************************************************************/
  44. @protocol VLCVoutViewResetting
  45. + (void)resetVout: (vout_thread_t *)p_vout;
  46. @end
  47. @interface VLCVoutView : NSView
  48. {
  49.     vout_thread_t * p_vout;
  50.     NSRect        * s_frame;
  51.     NSView <VLCVoutViewResetting> * o_view;
  52.     vout_thread_t * p_real_vout;
  53.     id              o_window;
  54. }
  55. - (BOOL)setVout: (vout_thread_t *) p_arg_vout subView: (NSView *) view
  56.                      frame: (NSRect *) s_arg_frame;
  57. - (void)closeVout;
  58. - (void)updateTitle;
  59. - (void)manage;
  60. - (void)scaleWindowWithFactor: (float)factor animate: (BOOL)animate;
  61. - (void)setOnTop:(BOOL)b_on_top;
  62. - (void)toggleFloatOnTop;
  63. - (void)toggleFullscreen;
  64. - (BOOL)isFullscreen;
  65. - (void)snapshot;
  66. - (id)voutWindow;
  67. + (id)voutView: (vout_thread_t *)p_vout subView: (NSView *) view
  68.          frame: (NSRect *) s_frame;
  69. + (vout_thread_t *)realVout: (vout_thread_t *)p_vout;
  70. - (void)enterFullscreen;
  71. - (void)leaveFullscreen;
  72. @end
  73. /*****************************************************************************
  74.  * VLCVoutDetachedView interface
  75.  *****************************************************************************/
  76. @interface VLCDetachedVoutView : VLCVoutView
  77. {
  78.     mtime_t i_time_mouse_last_moved;
  79. }
  80. - (void)hideMouse: (BOOL)b_hide;
  81. @end
  82. /*****************************************************************************
  83.  * VLCEmbeddedView interface
  84.  *****************************************************************************/
  85. @interface VLCEmbeddedVoutView : VLCVoutView
  86. {
  87.     BOOL b_used;
  88.     id o_embeddedwindow;
  89. }
  90. - (void)setUsed: (BOOL)b_new_used;
  91. - (BOOL)isUsed;
  92. @end
  93. /*****************************************************************************
  94.  * VLCVoutWindow interface
  95.  *****************************************************************************/
  96. @interface VLCVoutWindow : VLCWindow
  97. {
  98.     vout_thread_t * p_vout;
  99.     VLCVoutView   * o_view;
  100.     NSRect        * s_frame;
  101.     bool      b_init_ok;
  102.     BOOL      fullscreen;
  103.     NSRect    initialFrame;
  104. }
  105. - (id) initWithVout: (vout_thread_t *) p_vout view: (VLCVoutView *) view
  106.                      frame: (NSRect *) s_frame;
  107. - (id)initMainThread: (id) sender;
  108. - (void)leaveFullscreen;
  109. - (void)enterFullscreen;
  110. - (id)voutView;
  111. @end