mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-19 09:41:32 +08:00
Merge pull request #287 from fryshorts/doxygen
Add Doxygen configuration for creating api documentation
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
<!-- HTML header for doxygen 1.8.5-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,700" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!--BEGIN TITLEAREA-->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<!--BEGIN PROJECT_LOGO-->
|
||||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
|
||||
<!--END PROJECT_LOGO-->
|
||||
<!--BEGIN PROJECT_NAME-->
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">$projectname
|
||||
<!--BEGIN PROJECT_NUMBER--> <span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
|
||||
</div>
|
||||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||
</td>
|
||||
<!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_BRIEF-->
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectbrief">$projectbrief</div>
|
||||
</td>
|
||||
<!--END PROJECT_BRIEF-->
|
||||
<!--END !PROJECT_NAME-->
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<td>$searchbox</td>
|
||||
<!--END SEARCHENGINE-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
||||
@@ -0,0 +1,145 @@
|
||||
@charset 'UTF-8';
|
||||
|
||||
* {
|
||||
font-family: "Source Sans Pro", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
/* white_carbon2.png */
|
||||
background: #f6f8f9 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIBAMAAAA2IaO4AAAAFVBMVEX19PXo5ujv7u/o5ej29fb18/X29PaHCvlgAAAAIklEQVQIHWNgEARCBiUgNHQQdAAzGAIgYglKDIIOgglgMQA+hAOJM/f1wAAAAABJRU5ErkJggg==");
|
||||
}
|
||||
|
||||
div#doc-content {
|
||||
background: rgb(244, 244, 244);
|
||||
}
|
||||
|
||||
/* glowing stuff */
|
||||
h1.glow, h2.glow, h3.glow,
|
||||
h4.glow, h5.glow, h6.glow {
|
||||
text-shadow: 0 0 15px rgb(183, 28, 28);
|
||||
}
|
||||
div.memitem.glow {
|
||||
box-shadow: 0 0 15px rgb(183, 28, 28);
|
||||
}
|
||||
|
||||
/* header */
|
||||
div#titlearea {
|
||||
background: #f5f5f5;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 0;
|
||||
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.35);
|
||||
|
||||
border-bottom: 0;
|
||||
|
||||
background-image: linear-gradient(
|
||||
bottom, rgb(239,239,239) 0%, rgb(255,255,255) 100%);
|
||||
background-image: -o-linear-gradient(
|
||||
bottom, rgb(239,239,239) 0%, rgb(255,255,255) 100%);
|
||||
background-image: -moz-linear-gradient(
|
||||
bottom, rgb(239,239,239) 0%, rgb(255,255,255) 100%);
|
||||
background-image: -webkit-linear-gradient(
|
||||
bottom, rgb(239,239,239) 0%, rgb(255,255,255) 100%);
|
||||
}
|
||||
|
||||
div#projectname {
|
||||
font-family: 'Source Sans Pro', sans-serif;
|
||||
font-size: 25px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div#projectbrief {
|
||||
font-family: 'Source Sans Pro', sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* the first tab bar is different ... */
|
||||
div.tabs {
|
||||
background: #3b3d3e;
|
||||
height: 30px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
div.tabs li {
|
||||
background: transparent;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
div.tabs li:hover {
|
||||
background: rgb(46, 46, 46);
|
||||
}
|
||||
|
||||
div.tabs a {
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
background: transparent;
|
||||
|
||||
text-transform: uppercase;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
div.tabs a:hover {
|
||||
color: rgb(233, 233, 233);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
div.tabs li.current a {
|
||||
color: rgb(74, 74, 74);
|
||||
background: rgb(250, 250, 250);
|
||||
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* the other tabs are the same */
|
||||
div.tabs2,
|
||||
div.tabs3 {
|
||||
background: rgb(250, 250, 250);
|
||||
border: 1px solid rgb(196, 196, 196);
|
||||
border-top: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
div.tabs2 li,
|
||||
div.tabs3 li {
|
||||
background: transparent;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
div.tabs2 a,
|
||||
div.tabs3 a {
|
||||
padding: 0 8px;
|
||||
color: rgb(183, 28, 28);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
div.tabs2 a:hover,
|
||||
div.tabs3 a:hover {
|
||||
color: rgb(74, 74, 74);
|
||||
background: transparent;
|
||||
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
div.tabs2 li.current a,
|
||||
div.tabs3 li.current a {
|
||||
color: rgb(74, 74, 74);
|
||||
background: transparent;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
/* nav path (at the bottom of the page) */
|
||||
div.navpath {
|
||||
background: rgb(233, 233, 233);
|
||||
border: 1px solid rgb(196, 196, 196);
|
||||
border-width: 1px 0;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
div.navpath ul {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* directories */
|
||||
div.directory {
|
||||
border-color: rgba(0, 0, 0, 0.35);
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
+11
-3
@@ -17,10 +17,18 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief header for modules implementing encoders.
|
||||
*
|
||||
* Encoders are modules that implement some codec that can be used by libobs
|
||||
* to process output data.
|
||||
*/
|
||||
|
||||
/** Specifies the encoder type */
|
||||
enum obs_encoder_type {
|
||||
OBS_ENCODER_AUDIO,
|
||||
OBS_ENCODER_VIDEO
|
||||
OBS_ENCODER_AUDIO, /**< The encoder provides an audio codec */
|
||||
OBS_ENCODER_VIDEO /**< The encoder provides a video codec */
|
||||
};
|
||||
|
||||
/** Encoder output packet */
|
||||
@@ -151,7 +159,7 @@ struct obs_encoder_info {
|
||||
*/
|
||||
void (*get_defaults)(obs_data_t *settings);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Gets the property information of this encoder
|
||||
*
|
||||
* @return The properties data
|
||||
|
||||
+40
-1
@@ -29,8 +29,47 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief This file is used by modules for module declaration and module
|
||||
* exports.
|
||||
*
|
||||
* @page modules_page Modules
|
||||
* @brief Modules or plugins are libraries that can be loaded by libobs and
|
||||
* subsequently interact with it.
|
||||
*
|
||||
* @section modules_overview_sec Overview
|
||||
*
|
||||
* Modules can provide a wide range of functionality to libobs, they for example
|
||||
* can feed captured audio or video to libobs, or interface with an encoder to
|
||||
* provide some codec to libobs.
|
||||
*
|
||||
* @section modules_basic_sec Creating a basic module
|
||||
*
|
||||
* In order to create a module for libobs you will need to build a shared
|
||||
* library that implements a basic interface for libobs to interact with.
|
||||
* The following code would create a simple source plugin without localization:
|
||||
*
|
||||
@code
|
||||
#include <obs-module.h>
|
||||
|
||||
OBS_DECLARE_MODULE()
|
||||
|
||||
extern struct obs_source_info my_source;
|
||||
|
||||
bool obs_module_load(void)
|
||||
{
|
||||
obs_register_source(&my_source);
|
||||
return true;
|
||||
}
|
||||
@endcode
|
||||
*
|
||||
* If you want to enable localization, you will need to also use the
|
||||
* @ref OBS_MODULE_USE_DEFAULT_LOCALE() macro.
|
||||
*
|
||||
* Other module types:
|
||||
* - @ref obs_register_encoder()
|
||||
* - @ref obs_register_service()
|
||||
* - @ref obs_register_output()
|
||||
*
|
||||
* This file is used by modules for module declaration and module exports.
|
||||
*/
|
||||
|
||||
/** Required: Declares a libobs module. */
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
#include "util/c99defs.h"
|
||||
#include "obs-data.h"
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief libobs header for the properties system used in libobs
|
||||
*
|
||||
* @page properties Properties
|
||||
* @brief Platform and Toolkit independent settings implementation
|
||||
*
|
||||
* @section prop_overview_sec Overview
|
||||
*
|
||||
* libobs uses a property system which lets for example sources specify
|
||||
* settings that can be displayed to the user by the UI.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
@@ -17,6 +17,13 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief header for modules implementing services.
|
||||
*
|
||||
* Services are modules that implement provider specific settings for outputs.
|
||||
*/
|
||||
|
||||
struct obs_service_info {
|
||||
/* required */
|
||||
const char *id;
|
||||
|
||||
+10
-3
@@ -19,6 +19,13 @@
|
||||
|
||||
#include "obs.h"
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @brief header for modules implementing sources.
|
||||
*
|
||||
* Sources are modules that either feed data to libobs or modify it.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -90,7 +97,7 @@ enum obs_source_type {
|
||||
|
||||
/**
|
||||
* Source supports interaction.
|
||||
*
|
||||
*
|
||||
* When this is used, the source will receive interaction events
|
||||
* if they provide the necessary callbacks in the source definition structure.
|
||||
*/
|
||||
@@ -165,7 +172,7 @@ struct obs_source_info {
|
||||
*/
|
||||
void (*get_defaults)(obs_data_t *settings);
|
||||
|
||||
/**
|
||||
/**
|
||||
* Gets the property information of this source
|
||||
*
|
||||
* @return The properties data
|
||||
@@ -295,7 +302,7 @@ struct obs_source_info {
|
||||
/**
|
||||
* Called when interacting with a source and a mouse-down or mouse-up
|
||||
* occurs.
|
||||
*
|
||||
*
|
||||
* @param data Source data
|
||||
* @param event Mouse event properties
|
||||
* @param type Mouse button pushed
|
||||
|
||||
+9
-2
@@ -63,10 +63,17 @@ typedef struct obs_module obs_module_t;
|
||||
#include "obs-output.h"
|
||||
#include "obs-service.h"
|
||||
|
||||
/*
|
||||
/**
|
||||
* @file
|
||||
* @brief Main libobs header used by applications.
|
||||
*
|
||||
* @mainpage
|
||||
*
|
||||
* @section intro_sec Introduction
|
||||
*
|
||||
* This document describes the api for libobs to be used by applications as well
|
||||
* as @ref modules_page implementing some kind of functionality.
|
||||
*
|
||||
* Main libobs header used by applications.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user