[vlc-commits] [Git][videolan/vlc][master] meson: add skins2 module

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Nov 16 07:01:05 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
8012d681 by Steve Lhomme at 2024-11-16T06:47:43+00:00
meson: add skins2 module

- - - - -


4 changed files:

- config.h.meson
- meson_options.txt
- modules/gui/meson.build
- + modules/gui/skins2/meson.build


Changes:

=====================================
config.h.meson
=====================================
@@ -253,6 +253,9 @@
 /* Define to 1 if you have the `localtime_r' function. */
 #mesondefine HAVE_LOCALTIME_R
 
+/* Define to 1 if you have the lrintf function */
+#mesondefine HAVE_LRINTF
+
 /* Define to 1 if the system has the type `max_align_t'. */
 #mesondefine HAVE_MAX_ALIGN_T
 


=====================================
meson_options.txt
=====================================
@@ -145,6 +145,11 @@ option('qt_qml_debug',
     value: false,
     description: 'Enable/disable Qt QML debugger')
 
+option('skins2',
+    type : 'feature',
+    value : 'auto',
+    description : 'skins interface module support')
+
 option('dbus',
     type : 'feature',
     value : 'auto',
@@ -723,7 +728,6 @@ option('aribcaption',
 # TODO: Missing kai
 # TODO: Missing qt-qml-cache
 # TODO: Missing qt-qml-debug
-# TODO: Missing skins2
 # TODO: Missing libtar
 # TODO: Missing macosx
 # TODO: Missing sparkle


=====================================
modules/gui/meson.build
=====================================
@@ -27,3 +27,6 @@ endif
 
 # Qt interface module
 subdir('qt')
+
+# skins2 interface module
+subdir('skins2')


=====================================
modules/gui/skins2/meson.build
=====================================
@@ -0,0 +1,154 @@
+skins2_flags = []
+skins2_deps = [ freetype_dep ]
+
+fribidi_dep = dependency('fribidi', required: get_option('fribidi'))
+if fribidi_dep.found()
+    skins2_deps += [ fribidi_dep ]
+    skins2_flags += [ '-DHAVE_FRIBIDI' ]
+
+    harfbuzz_dep = dependency('harfbuzz', required: get_option('harfbuzz'))
+    if harfbuzz_dep.found()
+        skins2_deps += [ harfbuzz_dep ]
+        skins2_flags += [ '-DHAVE_HARFBUZZ' ]
+    endif
+endif
+
+if cc.has_function('lrintf', dependencies: [m_lib])
+    cdata.set('HAVE_LRINTF', 1)
+    skins2_deps += [ m_lib ]
+endif
+
+skins2_sources = files(
+    'commands/async_queue.cpp',
+    'commands/cmd_add_item.cpp',
+    'commands/cmd_audio.cpp',
+    'commands/cmd_dvd.cpp',
+    'commands/cmd_change_skin.cpp',
+    'commands/cmd_fullscreen.cpp',
+    'commands/cmd_input.cpp',
+    'commands/cmd_layout.cpp',
+    'commands/cmd_muxer.cpp',
+    'commands/cmd_on_top.cpp',
+    'commands/cmd_playlist.cpp',
+    'commands/cmd_playtree.cpp',
+    'commands/cmd_minimize.cpp',
+    'commands/cmd_quit.cpp',
+    'commands/cmd_resize.cpp',
+    'commands/cmd_snapshot.cpp',
+    'commands/cmd_vars.cpp',
+    'controls/ctrl_button.cpp',
+    'controls/ctrl_checkbox.cpp',
+    'controls/ctrl_generic.cpp',
+    'controls/ctrl_image.cpp',
+    'controls/ctrl_list.cpp',
+    'controls/ctrl_tree.cpp',
+    'controls/ctrl_move.cpp',
+    'controls/ctrl_resize.cpp',
+    'controls/ctrl_slider.cpp',
+    'controls/ctrl_radialslider.cpp',
+    'controls/ctrl_text.cpp',
+    'controls/ctrl_video.cpp',
+    'events/evt_input.cpp',
+    'events/evt_key.cpp',
+    'events/evt_mouse.cpp',
+    'events/evt_special.cpp',
+    'events/evt_scroll.cpp',
+    'parser/builder.cpp',
+    'parser/expr_evaluator.cpp',
+    'parser/interpreter.cpp',
+    'parser/skin_parser.cpp',
+    'parser/xmlparser.cpp',
+    'src/anchor.cpp',
+    'src/anim_bitmap.cpp',
+    'src/bitmap_font.cpp',
+    'src/dialogs.cpp',
+    'src/file_bitmap.cpp',
+    'src/art_manager.cpp',
+    'src/ft2_bitmap.cpp',
+    'src/ft2_font.cpp',
+    'src/ft2_err.c',
+    'src/generic_bitmap.cpp',
+    'src/generic_layout.cpp',
+    'src/generic_window.cpp',
+    'src/ini_file.cpp',
+    'src/logger.cpp',
+    'src/os_factory.cpp',
+    'src/popup.cpp',
+    'src/scaled_bitmap.cpp',
+    'src/skin_main.cpp',
+    'src/theme.cpp',
+    'src/theme_loader.cpp',
+    'src/theme_repository.cpp',
+    'src/tooltip.cpp',
+    'src/top_window.cpp',
+    'src/fsc_window.cpp',
+    'src/var_manager.cpp',
+    'src/vlcproc.cpp',
+    'src/vout_window.cpp',
+    'src/vout_manager.cpp',
+    'src/window_manager.cpp',
+    'utils/bezier.cpp',
+    'utils/fsm.cpp',
+    'utils/position.cpp',
+    'utils/ustring.cpp',
+    'utils/var_bool.cpp',
+    'utils/var_list.cpp',
+    'utils/var_percent.cpp',
+    'utils/var_text.cpp',
+    'utils/var_string.cpp',
+    'utils/var_tree.cpp',
+    'vars/equalizer.cpp',
+    'vars/playtree.cpp',
+    'vars/time.cpp',
+    'vars/volume.cpp',
+)
+
+
+if host_system == 'windows'
+skins2_flags += [ '-DWIN32_SKINS' ]
+skins2_deps += [
+    cc.find_library('gdi32'),
+    cc.find_library('ole32'),
+    cc.find_library('uuid'),
+    cc.find_library('msimg32'),
+]
+skins2_sources += files(
+    'win32/win32_dragdrop.cpp',
+    'win32/win32_factory.cpp',
+    'win32/win32_graphics.cpp',
+    'win32/win32_loop.cpp',
+    'win32/win32_popup.cpp',
+    'win32/win32_timer.cpp',
+    'win32/win32_tooltip.cpp',
+    'win32/win32_window.cpp',
+)
+else
+skins2_flags += [ '-DX11_SKINS' ]
+skins2_sources += files(
+    'x11/x11_display.cpp',
+    'x11/x11_dragdrop.cpp',
+    'x11/x11_factory.cpp',
+    'x11/x11_graphics.cpp',
+    'x11/x11_loop.cpp',
+    'x11/x11_popup.cpp',
+    'x11/x11_timer.cpp',
+    'x11/x11_window.cpp',
+    'x11/x11_tooltip.cpp',
+)
+skins2_deps += [
+    cc.find_library('X11'),
+    dependency('xpm', required: true),
+    dependency('xinerama', required: true),
+    dependency('xcursor', required: true),
+    dependency('xext', required: true),
+]
+endif
+
+vlc_modules += {
+    'name' : 'skins2',
+    'sources' : [ skins2_sources ],
+    'dependencies' : [ skins2_deps ],
+    'c_args' : skins2_flags,
+    'cpp_args' : [skins2_flags, '-O2', '-fno-rtti'],
+    'enabled' : get_option('skins2').allowed() and freetype_dep.found()
+}



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8012d68150bc2affc195d91c663d902790d7013c

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8012d68150bc2affc195d91c663d902790d7013c
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list