Merge pull request #287 from fryshorts/doxygen

Add Doxygen configuration for creating api documentation
This commit is contained in:
Jim
2014-10-29 20:41:05 -07:00
10 changed files with 2559 additions and 9 deletions
+2267
View File
File diff suppressed because it is too large Load Diff
+56
View File
@@ -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-->&#160;<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 -->
+145
View File
@@ -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
View File
@@ -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
View File
@@ -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. */
+14
View File
@@ -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
+7
View File
@@ -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
View File
@@ -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
View File
@@ -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