Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/VLC/modules/gui/skins2/   (VLC Media Plyer ©)  Datei vom 23.9.2026 mit Größe 7 kB image not shown  

Quelle  meson.build  Sprache: unbekannt

 
Spracherkennung für: .build vermutete Sprache: MT940 {MT940[2] Sparc[1] [0]} [Methode: maximale Elemente, drei Dimensionen]

fs = import('fs')

skins2_option = get_option('skins2') \
    .disable_auto_if(host_system != 'windows' and host_system != 'darwin' and not x11_dep.found()) \
    .require(freetype_dep.found(), error_message: 'Freetype is not available')

skins2_allowed = skins2_option.allowed()
skins2_enabled = skins2_option.enabled()
skins2_feasible = skins2_allowed

skins2_flags = []
skins2_deps = [ freetype_dep, m_lib ]

if skins2_allowed
    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
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' and skins2_allowed
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',
)
elif x11_dep.found() and skins2_allowed
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 += [
    x11_dep,
    dependency('xpm', required: skins2_enabled),
    dependency('xinerama', required: skins2_enabled),
    dependency('xcursor', required: skins2_enabled),
    dependency('xext', required: skins2_enabled),
]
elif host_system == 'darwin' and skins2_allowed
skins2_flags += [ '-DMACOSX_SKINS' ]
skins2_sources += files(
    'macosx/macosx_dragdrop.mm',
    'macosx/macosx_factory.mm',
    'macosx/macosx_graphics.mm',
    'macosx/macosx_loop.mm',
    'macosx/macosx_popup.mm',
    'macosx/macosx_timer.mm',
    'macosx/macosx_tooltip.mm',
    'macosx/macosx_window.mm',
)
skins2_deps += [
    dependency('appleframeworks', modules: ['Cocoa', 'CoreGraphics']),
]
endif

foreach iter_skins2_dep : skins2_deps
    if not iter_skins2_dep.found()
        skins2_feasible = false
        message('Skins2 interface disabled due to missing dependencies.')
        break
    endif
endforeach

vlc_modules += {
    'name' : 'skins2',
    'sources' : [ skins2_sources ],
    'dependencies' : [ skins2_deps ],
    'c_args' : skins2_flags,
    'cpp_args' : [skins2_flags, '-O2', '-fno-rtti'],
    'objcpp_args' : [skins2_flags, '-O2', '-fno-rtti'],
    'plugin_dir' : 'gui',
    'enabled': skins2_feasible,
}

if host_system == 'darwin' and skins2_feasible
    vlc_modules += {
        'name' : 'macosx_dialogs',
        'sources' : files('macosx/macosx_dialogs.m'),
        'dependencies' : [
            dependency('appleframeworks', modules: ['Cocoa']),
        ],
        'plugin_dir' : 'gui',
    }
endif

if skins2_feasible
    if host_system == 'windows'
        skinsdatadir_path = prefix_path / 'skins'
    else
        skinsdatadir_path = pkgdatadir_path / 'skins2'
    endif

    install_data('../../../share/skins2/fonts/FreeSans.ttf',     install_dir: skinsdatadir_path / 'fonts')
    install_data('../../../share/skins2/fonts/FreeSansBold.ttf', install_dir: skinsdatadir_path / 'fonts')
    install_data('../../../share/skins2/skin.catalog',           install_dir: skinsdatadir_path)
    install_data('../../../share/skins2/skin.dtd',               install_dir: skinsdatadir_path)
    install_data('../../../share/skins2/winamp2.xml',            install_dir: skinsdatadir_path)

    # Content of the default skin archive, in the order it is stored
    default_vlt_files = files(
        '../../../share/skins2/default/subX/about.png',
        '../../../share/skins2/default/subX/eq.png',
        '../../../share/skins2/default/subX/font.otf',
        '../../../share/skins2/default/subX/main.png',
        '../../../share/skins2/default/subX/pl.png',
        '../../../share/skins2/default/subX/playtreeglyphs.png',
        '../../../share/skins2/default/subX/sysbuttons.png',
        '../../../share/skins2/default/subX/vol_anim.png',
        '../../../share/skins2/default/subX/vol_slider.png',
        '../../../share/skins2/default/theme.xml',
    )

    # Store root as the owner of the files like the autotools build. This is not
    # supported by the tar of macOS.
    tar = find_program('tar')
    if build_machine.system() == 'darwin'
        tar_owner_args = []
    else
        tar_owner_args = ['--owner=root', '--group=root']
    endif

    relative_vlt_files = []
    foreach f : default_vlt_files
        relative_vlt_files += fs.relative_to(f, '../../../share/skins2')
    endforeach

    custom_target(
        input: default_vlt_files,
        output: 'default.vlt',
        command: [tar, 'cvvzf', '@OUTPUT@', '--format=ustar', tar_owner_args,
                '--directory=' + vlc_src_root / 'share/skins2', relative_vlt_files
        ],
        env: {'GZIP': '--no-name'},
        console: true,
        install: true,
        install_dir: skinsdatadir_path)
endif

[Dauer der Verarbeitung: 0.2 Sekunden, vorverarbeitet 2026-10-24]