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

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

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. */

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

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;

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

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