forked from mia/Aegisub
Document a few things and kill all remaining placeholders
This commit is contained in:
parent
3949ccec24
commit
009518271a
98 changed files with 33 additions and 850 deletions
|
@ -33,7 +33,6 @@
|
|||
|
||||
|
||||
// Sanity check
|
||||
|
||||
#ifndef HAVE_LITTLE_ENDIAN
|
||||
# ifndef HAVE_BIG_ENDIAN
|
||||
// We neither have big nor little endian from configuration
|
||||
|
@ -41,23 +40,15 @@
|
|||
// But this is an OS X system building a universal binary
|
||||
// Apple's GCC defines _BIG_ENDIAN when building for PPC
|
||||
# ifdef _BIG_ENDIAN
|
||||
|
||||
/// DOCME
|
||||
# define HAVE_BIG_ENDIAN
|
||||
# else
|
||||
|
||||
/// DOCME
|
||||
# define HAVE_LITTLE_ENDIAN
|
||||
# endif
|
||||
|
||||
/// DOCME
|
||||
# undef HAVE_DYNAMIC_ENDIAN
|
||||
# else // !HAVE_UNIVERSAL_ENDIAN
|
||||
// We aren't building an OS X universal binary
|
||||
// Use the dynamic endian code
|
||||
# ifndef HAVE_DYNAMIC_ENDIAN
|
||||
|
||||
/// DOCME
|
||||
# define HAVE_DYNAMIC_ENDIAN
|
||||
# endif
|
||||
# endif //HAVE_UNIVERSAL_ENDIAN
|
||||
|
@ -72,20 +63,11 @@
|
|||
|
||||
#include <cstdint>
|
||||
|
||||
|
||||
/// DOCME
|
||||
namespace Endian {
|
||||
|
||||
// Unconditionally reverse endianness
|
||||
|
||||
// These are only defined for unsigned ints,
|
||||
// Use reinterpret_cast on the values if you need signed values.
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint16_t Reverse(uint16_t val)
|
||||
{
|
||||
return
|
||||
|
@ -93,11 +75,6 @@ namespace Endian {
|
|||
((val & 0xFF00) >> 8);
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint32_t Reverse(uint32_t val)
|
||||
{
|
||||
return
|
||||
|
@ -107,11 +84,6 @@ namespace Endian {
|
|||
((val & 0xFF000000) >> 24);
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint64_t Reverse(uint64_t val)
|
||||
{
|
||||
return
|
||||
|
@ -129,10 +101,6 @@ namespace Endian {
|
|||
#ifndef HAVE_DYNAMIC_ENDIAN
|
||||
// Regular, fast, templatized conditional reversing
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
template<class T>
|
||||
inline T LittleToMachine(T val)
|
||||
{
|
||||
|
@ -145,10 +113,6 @@ namespace Endian {
|
|||
#endif
|
||||
}
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
template<class T>
|
||||
inline T BigToMachine(T val)
|
||||
{
|
||||
|
@ -161,10 +125,6 @@ namespace Endian {
|
|||
#endif
|
||||
}
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
template<class T>
|
||||
inline T MachineToLittle(T val)
|
||||
{
|
||||
|
@ -177,10 +137,6 @@ namespace Endian {
|
|||
#endif
|
||||
}
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
template<class T>
|
||||
inline T MachineToBig(T val)
|
||||
{
|
||||
|
@ -206,41 +162,23 @@ namespace Endian {
|
|||
|
||||
// Unions to pack together ints and get their physical bytes
|
||||
|
||||
|
||||
/// DOCME
|
||||
union bytes16 {
|
||||
/// DOCME
|
||||
uint8_t byte[2];
|
||||
|
||||
/// DOCME
|
||||
uint16_t word;
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
union bytes32 {
|
||||
/// DOCME
|
||||
uint8_t byte[4];
|
||||
|
||||
/// DOCME
|
||||
uint32_t word;
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
union bytes64 {
|
||||
/// DOCME
|
||||
uint8_t byte[8];
|
||||
|
||||
/// DOCME
|
||||
uint64_t word;
|
||||
};
|
||||
|
||||
// 16 bit words
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint16_t MachineToBig(uint16_t val)
|
||||
{
|
||||
bytes16 pack;
|
||||
|
@ -251,11 +189,6 @@ namespace Endian {
|
|||
return pack.word;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint16_t MachineToLittle(uint16_t val)
|
||||
{
|
||||
bytes16 pack;
|
||||
|
@ -266,11 +199,6 @@ namespace Endian {
|
|||
return pack.word;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint16_t BigToMachine(uint16_t val)
|
||||
{
|
||||
bytes16 pack;
|
||||
|
@ -280,11 +208,6 @@ namespace Endian {
|
|||
return uint16_t(pack.byte[1]) | (uint16_t(pack.byte[0]) << 8);
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint16_t LittleToMachine(uint16_t val)
|
||||
{
|
||||
bytes16 pack;
|
||||
|
@ -297,11 +220,6 @@ namespace Endian {
|
|||
|
||||
// 32 bit words
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint32_t MachineToBig(uint32_t val)
|
||||
{
|
||||
bytes32 pack;
|
||||
|
@ -312,11 +230,6 @@ namespace Endian {
|
|||
return pack.word;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint32_t MachineToLittle(uint32_t val)
|
||||
{
|
||||
bytes32 pack;
|
||||
|
@ -327,11 +240,6 @@ namespace Endian {
|
|||
return pack.word;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint32_t BigToMachine(uint32_t val)
|
||||
{
|
||||
bytes32 pack;
|
||||
|
@ -343,11 +251,6 @@ namespace Endian {
|
|||
uint32_t(pack.byte[3]);
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint32_t LittleToMachine(uint32_t val)
|
||||
{
|
||||
bytes32 pack;
|
||||
|
@ -362,11 +265,6 @@ namespace Endian {
|
|||
|
||||
// 64 bit words
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint64_t MachineToBig(uint64_t val)
|
||||
{
|
||||
bytes64 pack;
|
||||
|
@ -381,11 +279,6 @@ namespace Endian {
|
|||
return pack.word;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint64_t MachineToLittle(uint64_t val)
|
||||
{
|
||||
bytes64 pack;
|
||||
|
@ -400,11 +293,6 @@ namespace Endian {
|
|||
return pack.word;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
/// @return
|
||||
///
|
||||
inline uint64_t BigToMachine(uint64_t val)
|
||||
{
|
||||
bytes64 pack;
|
||||
|
@ -420,10 +308,6 @@ namespace Endian {
|
|||
uint64_t(pack.byte[7]);
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param val
|
||||
///
|
||||
inline uint64_t LittleToMachine(uint64_t val)
|
||||
{
|
||||
bytes64 pack;
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
class wxTranslations;
|
||||
|
||||
/// DOCME
|
||||
/// @class AegisubLocale
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AegisubLocale {
|
||||
wxString active_language;
|
||||
wxTranslations *GetTranslations();
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
#include "ass_entry.h"
|
||||
|
||||
/// @class AssAttachment
|
||||
/// @brief DOCME
|
||||
class AssAttachment : public AssEntry {
|
||||
/// Decoded file data
|
||||
std::shared_ptr<std::vector<char> > data;
|
||||
|
|
|
@ -47,11 +47,6 @@ namespace agi { struct Context; }
|
|||
|
||||
typedef std::vector<AssExportFilter*> FilterList;
|
||||
|
||||
/// DOCME
|
||||
/// @class AssExportFilterChain
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssExportFilterChain {
|
||||
static FilterList *filters();
|
||||
public:
|
||||
|
@ -68,11 +63,6 @@ public:
|
|||
static const FilterList *GetFilterList();
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class AssExportFilter
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssExportFilter {
|
||||
/// The filter chain needs to be able to muck around with filter names when
|
||||
/// they're registered to avoid duplicates
|
||||
|
|
|
@ -45,11 +45,6 @@ namespace agi { struct Context; }
|
|||
|
||||
typedef std::vector<AssExportFilter*> FilterList;
|
||||
|
||||
/// DOCME
|
||||
/// @class AssExporter
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssExporter {
|
||||
typedef FilterList::const_iterator filter_iterator;
|
||||
|
||||
|
|
|
@ -53,11 +53,6 @@ typedef boost::intrusive::make_list<AssEntry, boost::intrusive::constant_time_si
|
|||
typedef EntryList::iterator entryIter;
|
||||
typedef EntryList::const_iterator constEntryIter;
|
||||
|
||||
/// DOCME
|
||||
/// @class AssFile
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssFile {
|
||||
boost::container::list<AssFile> UndoStack;
|
||||
boost::container::list<AssFile> RedoStack;
|
||||
|
|
|
@ -65,9 +65,7 @@ enum AssParameterOptional {
|
|||
OPTIONAL_7 = 0x40
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class AssOverrideParameter
|
||||
/// @brief A single parameter to an override tag
|
||||
/// A single parameter to an override tag
|
||||
class AssOverrideParameter : public VariableData {
|
||||
public:
|
||||
/// Type of parameter
|
||||
|
@ -81,9 +79,7 @@ public:
|
|||
void operator=(const AssOverrideParameter ¶m);
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class AssOverrideParamProto
|
||||
/// @brief Prototype of a single override parameter
|
||||
/// Prototype of a single override parameter
|
||||
struct AssOverrideParamProto {
|
||||
/// ASS_ParameterOptional
|
||||
int optional;
|
||||
|
@ -97,9 +93,6 @@ struct AssOverrideParamProto {
|
|||
AssOverrideParamProto (VariableDataType type, int opt=NOT_OPTIONAL, AssParameterClass classi=PARCLASS_NORMAL);
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class AssOverrideTagProto
|
||||
/// @brief DOCME
|
||||
struct AssOverrideTagProto {
|
||||
/// Name of the tag, with slash
|
||||
wxString name;
|
||||
|
@ -120,11 +113,6 @@ struct AssOverrideTagProto {
|
|||
void Set(wxString name, VariableDataType type, AssParameterClass classi = PARCLASS_NORMAL, int opt = NOT_OPTIONAL);
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class AssOverrideTag
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssOverrideTag {
|
||||
bool valid;
|
||||
|
||||
|
|
|
@ -38,11 +38,6 @@
|
|||
|
||||
class AssStyle;
|
||||
|
||||
/// DOCME
|
||||
/// @class AssStyleStorage
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssStyleStorage {
|
||||
wxString storage_name;
|
||||
std::deque<AssStyle*> style;
|
||||
|
|
|
@ -38,11 +38,6 @@
|
|||
|
||||
#include <libaegisub/vfr.h>
|
||||
|
||||
/// DOCME
|
||||
/// @class AssTime
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssTime {
|
||||
/// Time in milliseconds
|
||||
int time;
|
||||
|
|
|
@ -69,13 +69,8 @@ class AudioBox : public wxSashWindow {
|
|||
/// The audio display in the box
|
||||
AudioDisplay *audioDisplay;
|
||||
|
||||
/// DOCME
|
||||
wxSlider *HorizontalZoom;
|
||||
|
||||
/// DOCME
|
||||
wxSlider *VerticalZoom;
|
||||
|
||||
/// DOCME
|
||||
wxSlider *VolumeBar;
|
||||
|
||||
// Mouse wheel zoom accumulator
|
||||
|
|
|
@ -43,18 +43,8 @@
|
|||
|
||||
class DirectSoundPlayer;
|
||||
|
||||
/// DOCME
|
||||
/// @class DirectSoundPlayerThread
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DirectSoundPlayerThread : public wxThread {
|
||||
private:
|
||||
|
||||
/// DOCME
|
||||
DirectSoundPlayer *parent;
|
||||
|
||||
/// DOCME
|
||||
HANDLE stopnotify;
|
||||
|
||||
public:
|
||||
|
@ -65,49 +55,23 @@ public:
|
|||
wxThread::ExitCode Entry();
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class DirectSoundPlayer
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DirectSoundPlayer : public AudioPlayer {
|
||||
friend class DirectSoundPlayerThread;
|
||||
|
||||
private:
|
||||
|
||||
/// DOCME
|
||||
volatile bool playing;
|
||||
|
||||
/// DOCME
|
||||
float volume;
|
||||
|
||||
/// DOCME
|
||||
int offset;
|
||||
|
||||
/// DOCME
|
||||
DWORD bufSize;
|
||||
|
||||
/// DOCME
|
||||
volatile int64_t playPos;
|
||||
|
||||
/// DOCME
|
||||
int64_t startPos;
|
||||
|
||||
/// DOCME
|
||||
volatile int64_t endPos;
|
||||
|
||||
/// DOCME
|
||||
DWORD startTime;
|
||||
|
||||
/// DOCME
|
||||
IDirectSound8 *directSound;
|
||||
|
||||
/// DOCME
|
||||
IDirectSoundBuffer8 *buffer;
|
||||
|
||||
bool FillBuffer(bool fill);
|
||||
|
||||
/// DOCME
|
||||
DirectSoundPlayerThread *thread;
|
||||
|
||||
public:
|
||||
|
|
|
@ -51,11 +51,6 @@
|
|||
|
||||
#include <wx/timer.h>
|
||||
|
||||
/// DOCME
|
||||
/// @class OpenALPlayer
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class OpenALPlayer : public AudioPlayer, wxTimer {
|
||||
/// Number of OpenAL buffers to use
|
||||
static const ALsizei num_buffers = 8;
|
||||
|
@ -87,7 +82,6 @@ class OpenALPlayer : public AudioPlayer, wxTimer {
|
|||
/// Number of buffers which have been fully played since playback was last started
|
||||
ALsizei buffers_played;
|
||||
|
||||
/// DOCME
|
||||
wxStopWatch playback_segment_timer;
|
||||
|
||||
/// Buffer to decode audio into
|
||||
|
|
|
@ -51,9 +51,7 @@
|
|||
class AudioProvider;
|
||||
class OSSPlayer;
|
||||
|
||||
/// DOCME
|
||||
/// @class OSSPlayerThread
|
||||
/// @brief Worker thread to asynchronously write audio data to the output device
|
||||
/// Worker thread to asynchronously write audio data to the output device
|
||||
class OSSPlayerThread : public wxThread {
|
||||
/// Parent player
|
||||
OSSPlayer *parent;
|
||||
|
@ -67,11 +65,6 @@ public:
|
|||
wxThread::ExitCode Entry();
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class OSSPlayer
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class OSSPlayer : public AudioPlayer {
|
||||
friend class OSSPlayerThread;
|
||||
|
||||
|
|
|
@ -39,81 +39,45 @@
|
|||
|
||||
class PulseAudioPlayer;
|
||||
|
||||
/// DOCME
|
||||
/// @class PulseAudioPlayer
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class PulseAudioPlayer : public AudioPlayer {
|
||||
/// DOCME
|
||||
float volume;
|
||||
|
||||
/// DOCME
|
||||
bool is_playing;
|
||||
|
||||
|
||||
/// DOCME
|
||||
volatile unsigned long start_frame;
|
||||
|
||||
/// DOCME
|
||||
volatile unsigned long cur_frame;
|
||||
|
||||
/// DOCME
|
||||
volatile unsigned long end_frame;
|
||||
|
||||
/// DOCME
|
||||
unsigned long bpf; // bytes per frame
|
||||
|
||||
|
||||
/// DOCME
|
||||
wxSemaphore context_notify;
|
||||
|
||||
/// DOCME
|
||||
wxSemaphore context_success;
|
||||
|
||||
/// DOCME
|
||||
volatile int context_success_val;
|
||||
|
||||
/// DOCME
|
||||
wxSemaphore stream_notify;
|
||||
|
||||
/// DOCME
|
||||
wxSemaphore stream_success;
|
||||
|
||||
/// DOCME
|
||||
volatile int stream_success_val;
|
||||
|
||||
|
||||
/// DOCME
|
||||
pa_threaded_mainloop *mainloop; // pulseaudio mainloop handle
|
||||
|
||||
/// DOCME
|
||||
pa_context *context; // connection context
|
||||
|
||||
/// DOCME
|
||||
volatile pa_context_state_t cstate;
|
||||
|
||||
/// DOCME
|
||||
pa_stream *stream;
|
||||
|
||||
/// DOCME
|
||||
volatile pa_stream_state_t sstate;
|
||||
|
||||
/// DOCME
|
||||
volatile pa_usec_t play_start_time; // timestamp when playback was started
|
||||
|
||||
/// DOCME
|
||||
int paerror;
|
||||
|
||||
// Called by PA to notify about contetxt operation completion
|
||||
/// Called by PA to notify about contetxt operation completion
|
||||
static void pa_context_success(pa_context *c, int success, PulseAudioPlayer *thread);
|
||||
// Called by PA to notify about other context-related stuff
|
||||
/// Called by PA to notify about other context-related stuff
|
||||
static void pa_context_notify(pa_context *c, PulseAudioPlayer *thread);
|
||||
// Called by PA when a stream operation completes
|
||||
/// Called by PA when a stream operation completes
|
||||
static void pa_stream_success(pa_stream *p, int success, PulseAudioPlayer *thread);
|
||||
// Called by PA to request more data written to stream
|
||||
/// Called by PA to request more data written to stream
|
||||
static void pa_stream_write(pa_stream *p, size_t length, PulseAudioPlayer *thread);
|
||||
// Called by PA to notify about other stream-related stuff
|
||||
/// Called by PA to notify about other stream-related stuff
|
||||
static void pa_stream_notify(pa_stream *p, PulseAudioPlayer *thread);
|
||||
|
||||
public:
|
||||
|
|
|
@ -38,19 +38,10 @@
|
|||
#include "avisynth.h"
|
||||
#include "avisynth_wrap.h"
|
||||
|
||||
|
||||
/// DOCME
|
||||
/// @class AvisynthAudioProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AvisynthAudioProvider : public AudioProvider {
|
||||
AviSynthWrapper avs_wrapper;
|
||||
|
||||
/// DOCME
|
||||
wxString filename;
|
||||
|
||||
/// DOCME
|
||||
PClip clip;
|
||||
|
||||
void LoadFromClip(AVSValue clip);
|
||||
|
|
|
@ -34,13 +34,7 @@
|
|||
|
||||
#include "include/aegisub/audio_provider.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class DummyAudioProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DummyAudioProvider : public AudioProvider {
|
||||
/// DOCME
|
||||
bool noise;
|
||||
void FillBuffer(void *buf, int64_t start, int64_t count) const;
|
||||
|
||||
|
|
|
@ -43,11 +43,6 @@ namespace agi {
|
|||
class ProgressSink;
|
||||
}
|
||||
|
||||
/// DOCME
|
||||
/// @class HDAudioProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class HDAudioProvider : public AudioProvider {
|
||||
/// Name of the file which the decoded audio is written to
|
||||
wxString diskCacheFilename;
|
||||
|
|
|
@ -214,13 +214,11 @@ void PCMAudioProvider::FillBuffer(void *buf, int64_t start, int64_t count) const
|
|||
}
|
||||
}
|
||||
|
||||
/// DOCME
|
||||
/// @class RiffWavPCMAudioProvider
|
||||
/// @brief RIFF WAV PCM provider
|
||||
///
|
||||
/// Overview of RIFF WAV: <http://www.sonicspot.com/guide/wavefiles.html>
|
||||
class RiffWavPCMAudioProvider : public PCMAudioProvider {
|
||||
/// DOCME
|
||||
struct ChunkHeader {
|
||||
/// Always "RIFF"
|
||||
char type[4];
|
||||
|
@ -228,19 +226,13 @@ class RiffWavPCMAudioProvider : public PCMAudioProvider {
|
|||
uint32_t size;
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
struct RIFFChunk {
|
||||
|
||||
/// DOCME
|
||||
ChunkHeader ch;
|
||||
|
||||
/// Always "WAVE"
|
||||
char format[4];
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
struct fmtChunk {
|
||||
|
||||
/// compression format used
|
||||
/// We support only PCM (0x1)
|
||||
uint16_t compression;
|
||||
|
@ -383,7 +375,6 @@ static const uint8_t w64Guiddata[16] = {
|
|||
0x64, 0x61, 0x74, 0x61, 0xF3, 0xAC, 0xD3, 0x11, 0x8C, 0xD1, 0x00, 0xC0, 0x4F, 0x8E, 0xDB, 0x8A
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class Wave64AudioProvider
|
||||
/// @brief Sony Wave64 audio provider
|
||||
///
|
||||
|
|
|
@ -46,11 +46,6 @@
|
|||
|
||||
#include <libaegisub/scoped_ptr.h>
|
||||
|
||||
/// DOCME
|
||||
/// @class PCMAudioProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class PCMAudioProvider : public AudioProvider {
|
||||
mutable void *current_mapping;
|
||||
|
||||
|
|
|
@ -39,19 +39,9 @@ namespace agi {
|
|||
class ProgressSink;
|
||||
}
|
||||
|
||||
/// DOCME
|
||||
/// @class RAMAudioProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class RAMAudioProvider : public AudioProvider {
|
||||
/// DOCME
|
||||
char** blockcache;
|
||||
|
||||
/// DOCME
|
||||
int blockcount;
|
||||
|
||||
/// DOCME
|
||||
bool samples_native_endian;
|
||||
|
||||
void Clear();
|
||||
|
|
|
@ -71,7 +71,6 @@
|
|||
#include "subtitle_format.h"
|
||||
#include "utils.h"
|
||||
|
||||
/// DOCME
|
||||
namespace Automation4 {
|
||||
bool CalculateTextExtents(AssStyle *style, wxString const& text, double &width, double &height, double &descent, double &extlead)
|
||||
{
|
||||
|
|
|
@ -65,8 +65,6 @@ class wxPathList;
|
|||
namespace agi { struct Context; }
|
||||
namespace cmd { class Command; }
|
||||
|
||||
|
||||
/// DOCME
|
||||
namespace Automation4 {
|
||||
DEFINE_BASE_EXCEPTION_NOINNER(AutomationError, agi::Exception)
|
||||
DEFINE_SIMPLE_EXCEPTION_NOINNER(ScriptLoadError, AutomationError, "automation/load/generic")
|
||||
|
|
|
@ -35,11 +35,6 @@
|
|||
#include "auto4_base.h"
|
||||
|
||||
namespace Automation4 {
|
||||
/// DOCME
|
||||
/// @class LuaScriptFactory
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class LuaScriptFactory : public ScriptFactory {
|
||||
Script* Produce(const wxString &filename) const;
|
||||
public:
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
class IScriptEnvironment;
|
||||
|
||||
/// DOCME
|
||||
/// @class AviSynthWrapper
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AviSynthWrapper {
|
||||
AviSynthWrapper(AviSynthWrapper const&);
|
||||
public:
|
||||
|
|
|
@ -51,11 +51,6 @@ namespace agi {
|
|||
}
|
||||
class AssDialogue;
|
||||
|
||||
/// DOCME
|
||||
/// @class BaseGrid
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class BaseGrid : public wxWindow, public SubtitleSelectionController {
|
||||
int lineHeight; ///< Height of a line in pixels in the current font
|
||||
bool holding; ///< Is a drag selection in process?
|
||||
|
|
|
@ -98,7 +98,6 @@ class DataBlockCache {
|
|||
/// Type of an array of blocks
|
||||
typedef std::vector<BlockT*> BlockArray;
|
||||
|
||||
/// DOCME
|
||||
struct MacroBlock {
|
||||
/// This macroblock's position in the age list
|
||||
/// Is valid iff blocks.size() > 0
|
||||
|
|
|
@ -41,21 +41,11 @@ class wxListEvent;
|
|||
|
||||
#include "ass_entry.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogAttachments
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogAttachments : public wxDialog {
|
||||
AssFile *ass;
|
||||
|
||||
/// DOCME
|
||||
wxListView *listView;
|
||||
|
||||
/// DOCME
|
||||
wxButton *extractButton;
|
||||
|
||||
/// DOCME
|
||||
wxButton *deleteButton;
|
||||
|
||||
void OnAttachFont(wxCommandEvent &event);
|
||||
|
|
|
@ -50,11 +50,6 @@ class wxButton;
|
|||
class wxListEvent;
|
||||
class wxListView;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogAutomation
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogAutomation : public wxDialog {
|
||||
agi::Context *context;
|
||||
|
||||
|
|
|
@ -190,16 +190,13 @@ class DialogColorPicker : public wxDialog {
|
|||
/// click the eyedropper or drag the eyedropper
|
||||
wxPoint eyedropper_grab_point;
|
||||
|
||||
/// DOCME
|
||||
bool eyedropper_is_grabbed;
|
||||
|
||||
wxStaticBitmap *preview_box; ///< A box which simply shows the current color
|
||||
ColorPickerRecent *recent_box; ///< A grid of recently used colors
|
||||
|
||||
/// DOCME
|
||||
ColorPickerScreenDropper *screen_dropper;
|
||||
|
||||
/// DOCME
|
||||
wxStaticBitmap *screen_dropper_icon;
|
||||
|
||||
/// Update all other controls as a result of modifying an RGB control
|
||||
|
|
|
@ -42,11 +42,6 @@ class PersistLocation;
|
|||
class VideoBox;
|
||||
class VideoDisplay;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogDetachedVideo
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogDetachedVideo : public wxDialog {
|
||||
agi::Context *context;
|
||||
VideoDisplay *old_display;
|
||||
|
|
|
@ -64,14 +64,12 @@ enum {
|
|||
Dummy_Video_Length
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
struct ResolutionShortcut {
|
||||
const char *name;
|
||||
int width;
|
||||
int height;
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
static ResolutionShortcut resolutions[] = {
|
||||
{"640x480 (SD fullscreen)", 640, 480},
|
||||
{"704x480 (SD anamorphic)", 704, 480},
|
||||
|
|
|
@ -42,11 +42,6 @@ class wxSpinCtrl;
|
|||
class wxStaticText;
|
||||
class wxTextCtrl;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogDummyVideo
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogDummyVideo : public wxDialog {
|
||||
DialogDummyVideo(wxWindow *parent);
|
||||
~DialogDummyVideo();
|
||||
|
|
|
@ -47,11 +47,6 @@
|
|||
class AssExporter;
|
||||
namespace agi { struct Context; }
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogExport
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogExport : public wxDialog {
|
||||
agi::Context *c;
|
||||
|
||||
|
@ -67,7 +62,6 @@ class DialogExport : public wxDialog {
|
|||
/// A list of available target charsets
|
||||
wxChoice *charset_list;
|
||||
|
||||
/// DOCME
|
||||
wxSizer *opt_sizer;
|
||||
|
||||
void OnProcess(wxCommandEvent &);
|
||||
|
|
|
@ -31,11 +31,6 @@ class wxStaticText;
|
|||
class wxTextCtrl;
|
||||
class wxThreadEvent;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogFontsCollector
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogFontsCollector : public wxDialog {
|
||||
AssFile *subs;
|
||||
|
||||
|
|
|
@ -35,11 +35,6 @@
|
|||
class TimeEdit;
|
||||
namespace agi { struct Context; }
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogJumpTo
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogJumpTo : public wxDialog {
|
||||
agi::Context *c; ///< Project context
|
||||
long jumpframe; ///< Target frame to jump to
|
||||
|
|
|
@ -75,11 +75,6 @@ enum {
|
|||
BUTTON_KTACCEPT
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class KaraokeLineMatchDisplay
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class KaraokeLineMatchDisplay : public wxControl {
|
||||
typedef AssKaraoke::Syllable MatchSyllable;
|
||||
|
||||
|
|
|
@ -45,11 +45,6 @@ class KaraokeLineMatchDisplay;
|
|||
class wxComboBox;
|
||||
class wxCheckBox;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogKanjiTimer
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogKanjiTimer : public wxDialog {
|
||||
AssFile *subs;
|
||||
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
class wxCheckListBox;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogPasteOver
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogPasteOver : public wxDialog {
|
||||
wxCheckListBox *ListBox;
|
||||
|
||||
|
|
|
@ -41,11 +41,6 @@
|
|||
class AssFile;
|
||||
namespace agi { struct Context; }
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogProperties
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogProperties : public wxDialog {
|
||||
agi::Context *c; ///< Project this dialog is adjusting the properties of
|
||||
|
||||
|
|
|
@ -28,11 +28,6 @@ class wxRadioBox;
|
|||
class wxRadioButton;
|
||||
class wxTextCtrl;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogSelection
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogSelection : public wxDialog {
|
||||
agi::Context *con; ///< Project context
|
||||
|
||||
|
|
|
@ -41,11 +41,6 @@ namespace json {
|
|||
typedef std::deque<UnknownElement> Array;
|
||||
}
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogShiftTimes
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogShiftTimes : public wxDialog {
|
||||
agi::Context *context;
|
||||
|
||||
|
|
|
@ -36,11 +36,6 @@ class wxComboBox;
|
|||
class wxListBox;
|
||||
class wxTextCtrl;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogSpellChecker
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogSpellChecker : public wxDialog {
|
||||
agi::Context *context; ///< The project context
|
||||
agi::scoped_ptr<agi::SpellChecker> spellchecker; ///< The spellchecking engine
|
||||
|
|
|
@ -47,11 +47,6 @@ class ColourButton;
|
|||
class PersistLocation;
|
||||
class SubtitlesPreview;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogStyleEditor
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogStyleEditor : public wxDialog {
|
||||
agi::Context *c;
|
||||
agi::scoped_ptr<PersistLocation> persist;
|
||||
|
@ -61,76 +56,36 @@ class DialogStyleEditor : public wxDialog {
|
|||
/// the style
|
||||
bool is_new;
|
||||
|
||||
/// DOCME
|
||||
/// The style currently being edited
|
||||
AssStyle *style;
|
||||
|
||||
/// DOCME
|
||||
/// Copy of style passed to the subtitles preview to avoid making changes
|
||||
/// before Apply is clicked
|
||||
agi::scoped_ptr<AssStyle> work;
|
||||
|
||||
/// DOCME
|
||||
/// The style storage style is in, if applicable
|
||||
AssStyleStorage *store;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *StyleName;
|
||||
|
||||
/// DOCME
|
||||
wxComboBox *FontName;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *FontSize;
|
||||
|
||||
/// DOCME
|
||||
wxCheckBox *BoxBold;
|
||||
|
||||
/// DOCME
|
||||
wxCheckBox *BoxItalic;
|
||||
|
||||
/// DOCME
|
||||
wxCheckBox *BoxUnderline;
|
||||
|
||||
/// DOCME
|
||||
wxCheckBox *BoxStrikeout;
|
||||
|
||||
/// DOCME
|
||||
ColourButton *colorButton[4];
|
||||
|
||||
/// DOCME
|
||||
wxSpinCtrl *colorAlpha[4];
|
||||
|
||||
/// DOCME
|
||||
wxSpinCtrl *margin[3];
|
||||
|
||||
/// DOCME
|
||||
wxRadioBox *Alignment;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *Outline;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *Shadow;
|
||||
|
||||
/// DOCME
|
||||
wxCheckBox *OutlineType;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *ScaleX;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *ScaleY;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *Angle;
|
||||
|
||||
/// DOCME
|
||||
wxComboBox *Encoding;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *Spacing;
|
||||
|
||||
/// DOCME
|
||||
wxTextCtrl *PreviewText;
|
||||
|
||||
/// DOCME
|
||||
SubtitlesPreview *SubsPreview;
|
||||
|
||||
void SetBitmapColor(int n,wxColour color);
|
||||
|
|
|
@ -51,11 +51,6 @@ class AssStyle;
|
|||
class DialogStyleEditor;
|
||||
class PersistLocation;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogStyleManager
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogStyleManager : public wxDialog {
|
||||
agi::Context *c; ///< Project context
|
||||
agi::scoped_ptr<PersistLocation> persist;
|
||||
|
|
|
@ -34,11 +34,6 @@ class wxCheckBox;
|
|||
class wxListBox;
|
||||
class wxTextCtrl;
|
||||
|
||||
/// DOCME
|
||||
/// @class DialogStyling
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class DialogStyling : public wxDialog {
|
||||
agi::Context *c;
|
||||
agi::signal::Connection active_line_connection;
|
||||
|
|
|
@ -35,10 +35,7 @@ class SubsTextEditCtrl;
|
|||
class wxStaticText;
|
||||
class wxCheckBox;
|
||||
|
||||
/// @class DialogTranslation
|
||||
/// @brief Assistant for translating subtitles in one language to another language
|
||||
///
|
||||
/// DOCME
|
||||
/// Assistant for translating subtitles in one language to another language
|
||||
class DialogTranslation : public wxDialog {
|
||||
agi::Context *c;
|
||||
|
||||
|
|
|
@ -36,20 +36,11 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#include "fft.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
/// @brief Transform
|
||||
/// @param n_samples
|
||||
/// @param input
|
||||
/// @param output_r
|
||||
/// @param output_i
|
||||
/// @param inverse
|
||||
///
|
||||
void FFT::DoTransform (size_t n_samples,float *input,float *output_r,float *output_i,bool inverse) {
|
||||
// Check if it's power of two
|
||||
if (!IsPowerOfTwo(n_samples)) {
|
||||
throw "FFT requires power of two input.";
|
||||
}
|
||||
|
@ -127,47 +118,22 @@ void FFT::DoTransform (size_t n_samples,float *input,float *output_r,float *outp
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Transform wrappers
|
||||
/// @param n_samples
|
||||
/// @param input
|
||||
/// @param output_r
|
||||
/// @param output_i
|
||||
///
|
||||
void FFT::Transform(size_t n_samples,float *input,float *output_r,float *output_i) {
|
||||
DoTransform(n_samples,input,output_r,output_i,false);
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param n_samples
|
||||
/// @param input
|
||||
/// @param output_r
|
||||
/// @param output_i
|
||||
///
|
||||
void FFT::InverseTransform(size_t n_samples,float *input,float *output_r,float *output_i) {
|
||||
DoTransform(n_samples,input,output_r,output_i,true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Checks if number is a power of two
|
||||
/// @param x
|
||||
/// @return
|
||||
///
|
||||
bool FFT::IsPowerOfTwo (unsigned int x) {
|
||||
if (x < 2) return false;
|
||||
if (x & (x-1)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Bits needed by the FFT
|
||||
/// @param n_samples
|
||||
/// @return
|
||||
///
|
||||
unsigned int FFT::NumberOfBitsNeeded (unsigned int n_samples) {
|
||||
int i;
|
||||
|
||||
|
@ -180,13 +146,7 @@ unsigned int FFT::NumberOfBitsNeeded (unsigned int n_samples) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Get reversed bit position
|
||||
/// @param index
|
||||
/// @param bits
|
||||
/// @return
|
||||
///
|
||||
unsigned int FFT::ReverseBits (unsigned int index, unsigned int bits) {
|
||||
unsigned int i, rev;
|
||||
|
||||
|
@ -198,13 +158,7 @@ unsigned int FFT::ReverseBits (unsigned int index, unsigned int bits) {
|
|||
return rev;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// @brief Get frequency at index
|
||||
/// @param baseFreq
|
||||
/// @param n_samples
|
||||
/// @param index
|
||||
///
|
||||
float FFT::FrequencyAtIndex (unsigned int baseFreq, unsigned int n_samples, unsigned int index) {
|
||||
if (index >= n_samples) return 0.0;
|
||||
else if (index <= n_samples/2) {
|
||||
|
@ -214,5 +168,3 @@ float FFT::FrequencyAtIndex (unsigned int baseFreq, unsigned int n_samples, unsi
|
|||
return (-(float)(n_samples-index) / (float)n_samples * baseFreq);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -32,19 +32,9 @@
|
|||
/// @ingroup utility
|
||||
///
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
|
||||
|
||||
#include <stdlib.h> // size_t
|
||||
|
||||
|
||||
/// DOCME
|
||||
/// @class FFT
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class FFT {
|
||||
private:
|
||||
void DoTransform(size_t n_samples,float *input,float *output_r,float *output_i,bool inverse);
|
||||
|
||||
public:
|
||||
|
|
|
@ -60,11 +60,6 @@ class VideoZoomSlider;
|
|||
|
||||
namespace agi { struct Context; class OptionValue; }
|
||||
|
||||
/// DOCME
|
||||
/// @class FrameMain
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class FrameMain: public wxFrame {
|
||||
friend class AegisubFileDropTarget;
|
||||
|
||||
|
|
|
@ -360,7 +360,6 @@ void OpenGLTextGlyph::Draw(float x, float y) const {
|
|||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
}
|
||||
|
||||
/// @brief DOCME
|
||||
OpenGLTextGlyph::OpenGLTextGlyph(int value, wxFont const& font)
|
||||
: str(wxChar(value))
|
||||
, tex(0)
|
||||
|
|
|
@ -43,47 +43,20 @@
|
|||
struct OpenGLTextGlyph;
|
||||
class OpenGLTextTexture;
|
||||
|
||||
/// DOCME
|
||||
typedef boost::container::map<int,OpenGLTextGlyph> glyphMap;
|
||||
|
||||
/// DOCME
|
||||
/// @class OpenGLText
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class OpenGLText {
|
||||
/// DOCME
|
||||
|
||||
/// DOCME
|
||||
|
||||
/// DOCME
|
||||
|
||||
/// DOCME
|
||||
float r,g,b,a;
|
||||
|
||||
/// DOCME
|
||||
int lineHeight;
|
||||
|
||||
/// DOCME
|
||||
int fontSize;
|
||||
|
||||
/// DOCME
|
||||
bool fontBold;
|
||||
|
||||
/// DOCME
|
||||
bool fontItalics;
|
||||
|
||||
/// DOCME
|
||||
wxString fontFace;
|
||||
|
||||
/// DOCME
|
||||
wxFont font;
|
||||
|
||||
|
||||
/// DOCME
|
||||
glyphMap glyphs;
|
||||
|
||||
/// DOCME
|
||||
std::vector<std::shared_ptr<OpenGLTextTexture> > textures;
|
||||
|
||||
OpenGLText(OpenGLText const&);
|
||||
|
|
|
@ -25,11 +25,6 @@
|
|||
|
||||
class wxColour;
|
||||
|
||||
/// DOCME
|
||||
/// @class OpenGLWrapper
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class OpenGLWrapper {
|
||||
float line_r, line_g, line_b, line_a;
|
||||
float fill_r, fill_g, fill_b, fill_a;
|
||||
|
|
|
@ -32,14 +32,8 @@
|
|||
/// @ingroup custom_control
|
||||
///
|
||||
|
||||
|
||||
#include <wx/button.h>
|
||||
|
||||
/// DOCME
|
||||
/// @class HelpButton
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class HelpButton : public wxButton {
|
||||
public:
|
||||
HelpButton(wxWindow *parent, wxString const& page="", wxPoint position=wxDefaultPosition, wxSize size=wxDefaultSize);
|
||||
|
|
|
@ -38,13 +38,8 @@
|
|||
|
||||
class AudioProvider;
|
||||
|
||||
/// @class AudioPlayer
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AudioPlayer {
|
||||
protected:
|
||||
/// DOCME
|
||||
AudioProvider *provider;
|
||||
|
||||
public:
|
||||
|
|
|
@ -39,28 +39,15 @@
|
|||
#include <libaegisub/exception.h>
|
||||
#include "factory_manager.h"
|
||||
|
||||
/// @class AudioProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AudioProvider {
|
||||
protected:
|
||||
/// DOCME
|
||||
int channels;
|
||||
|
||||
/// for one channel, ie. number of PCM frames
|
||||
int64_t num_samples;
|
||||
|
||||
/// DOCME
|
||||
int sample_rate;
|
||||
|
||||
/// DOCME
|
||||
int bytes_per_sample;
|
||||
|
||||
bool float_samples;
|
||||
|
||||
|
||||
/// DOCME
|
||||
wxString filename;
|
||||
|
||||
virtual void FillBuffer(void *buf, int64_t start, int64_t count) const = 0;
|
||||
|
@ -85,11 +72,6 @@ public:
|
|||
virtual bool NeedsCache() const { return false; }
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class AudioProviderFactory
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AudioProviderFactory : public Factory1<AudioProvider, wxString> {
|
||||
public:
|
||||
static void RegisterProviders();
|
||||
|
|
|
@ -39,28 +39,14 @@
|
|||
class AssFile;
|
||||
class AegiVideoFrame;
|
||||
|
||||
/// @class SubtitlesProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class SubtitlesProvider {
|
||||
public:
|
||||
virtual ~SubtitlesProvider() { };
|
||||
|
||||
virtual void LoadSubtitles(AssFile *subs)=0;
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param dst
|
||||
/// @param time
|
||||
///
|
||||
virtual void DrawSubtitles(AegiVideoFrame &dst,double time)=0;
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class SubtitlesProviderFactoryManager
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class SubtitlesProviderFactory : public Factory1<SubtitlesProvider, std::string> {
|
||||
public:
|
||||
static SubtitlesProvider *GetProvider();
|
||||
|
|
|
@ -41,15 +41,11 @@
|
|||
|
||||
class AegiVideoFrame;
|
||||
|
||||
/// @class VideoProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class VideoProvider {
|
||||
public:
|
||||
virtual ~VideoProvider() {}
|
||||
|
||||
// Override this method to actually get frames
|
||||
/// Override this method to actually get frames
|
||||
virtual const AegiVideoFrame GetFrame(int n)=0;
|
||||
|
||||
// Override the following methods to get video information:
|
||||
|
|
|
@ -95,7 +95,6 @@ static const char *LastStartupState = nullptr;
|
|||
|
||||
#ifdef __VISUALC__
|
||||
|
||||
/// DOCME
|
||||
#define MS_VC_EXCEPTION 0x406d1388
|
||||
|
||||
/// Parameters for setting the thread name
|
||||
|
|
|
@ -41,11 +41,6 @@ DEFINE_SIMPLE_EXCEPTION_NOINNER(MatroskaException, agi::Exception, "matroksa_wra
|
|||
|
||||
class AssFile;
|
||||
|
||||
/// DOCME
|
||||
/// @class MatroskaWrapper
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class MatroskaWrapper {
|
||||
public:
|
||||
/// Check if the file is a matroska file with at least one subtitle track
|
||||
|
|
|
@ -47,11 +47,7 @@
|
|||
|
||||
PluginManager::PluginManager() {
|
||||
init = false;
|
||||
|
||||
#ifdef WITH_AUTO4_LUA
|
||||
lua = nullptr;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
PluginManager::~PluginManager() {
|
||||
|
|
|
@ -34,20 +34,9 @@
|
|||
|
||||
namespace Automation4 { class ScriptFactory; }
|
||||
|
||||
/// DOCME
|
||||
/// @class PluginManager
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class PluginManager {
|
||||
private:
|
||||
|
||||
/// DOCME
|
||||
bool init;
|
||||
|
||||
#ifdef WITH_AUTO4_LUA
|
||||
Automation4::ScriptFactory *lua;
|
||||
#endif
|
||||
|
||||
public:
|
||||
PluginManager();
|
||||
|
@ -55,5 +44,3 @@ public:
|
|||
|
||||
void RegisterBuiltInPlugins();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
/// DOCME
|
||||
/// @class ScintillaTextCtrl
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class ScintillaTextCtrl : public wxStyledTextCtrl {
|
||||
wxString text;
|
||||
|
||||
|
|
|
@ -41,9 +41,6 @@
|
|||
|
||||
class VisualToolBase;
|
||||
|
||||
/// DOCME
|
||||
/// @class Spline
|
||||
/// @brief DOCME
|
||||
class Spline : private std::list<SplineCurve> {
|
||||
/// Visual tool to do the conversion between script and video pixels
|
||||
const VisualToolBase &coord_translator;
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
#include <vector>
|
||||
|
||||
/// DOCME
|
||||
/// @class SplineCurve
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class SplineCurve {
|
||||
/// Closest t in segment p1-p2 to point p3
|
||||
float GetClosestSegmentPart(Vector2D p1, Vector2D p2, Vector2D p3) const;
|
||||
|
@ -59,7 +54,6 @@ public:
|
|||
Vector2D p3;
|
||||
Vector2D p4;
|
||||
|
||||
/// DOCME
|
||||
CurveType type;
|
||||
|
||||
SplineCurve(Vector2D p1 = Vector2D(0, 0));
|
||||
|
|
|
@ -34,11 +34,11 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include "standard_paths.h"
|
||||
|
||||
#include <wx/filename.h>
|
||||
#include <wx/stdpaths.h>
|
||||
|
||||
#include "standard_paths.h"
|
||||
|
||||
StandardPaths &StandardPaths::GetInstance() {
|
||||
static StandardPaths instance;
|
||||
return instance;
|
||||
|
|
|
@ -33,17 +33,11 @@
|
|||
///
|
||||
|
||||
#include <map>
|
||||
#include <wx/string.h>
|
||||
|
||||
|
||||
/// DOCME
|
||||
/// @class StandardPaths
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class StandardPaths {
|
||||
static StandardPaths &GetInstance();
|
||||
|
||||
/// DOCME
|
||||
std::map<wxString, wxString> paths;
|
||||
|
||||
StandardPaths();
|
||||
|
|
|
@ -39,10 +39,6 @@
|
|||
|
||||
#include "string_codec.h"
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param input
|
||||
/// @return
|
||||
///
|
||||
wxString inline_string_encode(const wxString &input)
|
||||
{
|
||||
const size_t inlen = input.length();
|
||||
|
@ -59,10 +55,6 @@ wxString inline_string_encode(const wxString &input)
|
|||
return output;
|
||||
}
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param input
|
||||
///
|
||||
wxString inline_string_decode(const wxString &input)
|
||||
{
|
||||
const size_t inlen = input.length();
|
||||
|
@ -86,5 +78,3 @@ wxString inline_string_decode(const wxString &input)
|
|||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
///
|
||||
/// The encoded string should be usable in any kind of field in an ASS file.
|
||||
|
||||
|
||||
#include <wx/string.h>
|
||||
|
||||
wxString inline_string_encode(const wxString &input);
|
||||
|
|
|
@ -64,8 +64,6 @@ class wxTextCtrl;
|
|||
|
||||
template<class Base> class Placeholder;
|
||||
|
||||
/// DOCME
|
||||
/// @class SubsEditBox
|
||||
/// @brief Main subtitle edit box
|
||||
///
|
||||
/// Controls the text edit and all surrounding controls
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
#include <vector>
|
||||
|
||||
/// DOCME
|
||||
/// @class SubtitlesGrid
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class SubtitlesGrid: public BaseGrid {
|
||||
public:
|
||||
SubtitlesGrid(wxWindow *parent, agi::Context *context);
|
||||
|
|
|
@ -42,9 +42,7 @@ class AssStyle;
|
|||
class SubtitlesProvider;
|
||||
class VideoProvider;
|
||||
|
||||
/// DOCME
|
||||
/// @class SubtitlesPreview
|
||||
/// @brief Preview window to show a short string with a given ass style
|
||||
/// Preview window to show a short string with a given ass style
|
||||
class SubtitlesPreview : public wxWindow {
|
||||
/// The subtitle provider used to render the string
|
||||
agi::scoped_ptr<SubtitlesProvider> provider;
|
||||
|
|
|
@ -45,11 +45,6 @@ class AssEntry;
|
|||
class AssFile;
|
||||
namespace agi { namespace vfr { class Framerate; } }
|
||||
|
||||
/// DOCME
|
||||
/// @class SubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class SubtitleFormat {
|
||||
wxString name;
|
||||
|
||||
|
|
|
@ -34,11 +34,6 @@
|
|||
|
||||
#include "subtitle_format.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class ASSSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AssSubtitleFormat : public SubtitleFormat {
|
||||
public:
|
||||
AssSubtitleFormat();
|
||||
|
|
|
@ -34,12 +34,6 @@
|
|||
|
||||
#include "subtitle_format.h"
|
||||
|
||||
|
||||
/// DOCME
|
||||
/// @class EncoreSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class EncoreSubtitleFormat : public SubtitleFormat {
|
||||
public:
|
||||
EncoreSubtitleFormat();
|
||||
|
|
|
@ -34,11 +34,6 @@
|
|||
|
||||
#include "subtitle_format.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class MicroDVDSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class MicroDVDSubtitleFormat : public SubtitleFormat {
|
||||
public:
|
||||
MicroDVDSubtitleFormat();
|
||||
|
|
|
@ -34,11 +34,6 @@
|
|||
|
||||
#include "subtitle_format.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class MKVSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class MKVSubtitleFormat : public SubtitleFormat {
|
||||
public:
|
||||
MKVSubtitleFormat();
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
class AssDialogue;
|
||||
|
||||
/// DOCME
|
||||
/// @class SRTSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class SRTSubtitleFormat : public SubtitleFormat {
|
||||
wxString ConvertTags(const AssDialogue *diag) const;
|
||||
public:
|
||||
|
|
|
@ -37,11 +37,6 @@
|
|||
class AssDialogue;
|
||||
class SmpteFormatter;
|
||||
|
||||
/// DOCME
|
||||
/// @class TranStationSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class TranStationSubtitleFormat : public SubtitleFormat {
|
||||
wxString ConvertLine(AssFile *file, AssDialogue *line, agi::vfr::Framerate const& fps, SmpteFormatter const& ft, int nextl_start) const;
|
||||
|
||||
|
|
|
@ -37,11 +37,6 @@
|
|||
class AssDialogue;
|
||||
class wxXmlNode;
|
||||
|
||||
/// DOCME
|
||||
/// @class TTXTSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class TTXTSubtitleFormat : public SubtitleFormat {
|
||||
AssDialogue *ProcessLine(wxXmlNode *node, AssDialogue *prev, int version) const;
|
||||
void ProcessHeader(wxXmlNode *node) const;
|
||||
|
|
|
@ -34,11 +34,6 @@
|
|||
|
||||
#include "subtitle_format.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class TXTSubtitleFormat
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class TXTSubtitleFormat : public SubtitleFormat {
|
||||
public:
|
||||
TXTSubtitleFormat();
|
||||
|
|
|
@ -43,11 +43,6 @@
|
|||
typedef void csri_rend;
|
||||
typedef void csri_inst;
|
||||
|
||||
/// DOCME
|
||||
/// @class CSRISubtitlesProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class CSRISubtitlesProvider : public SubtitlesProvider {
|
||||
agi::scoped_holder<csri_inst*> instance;
|
||||
csri_rend *renderer;
|
||||
|
|
|
@ -56,9 +56,6 @@
|
|||
#include "video_context.h"
|
||||
#include "video_frame.h"
|
||||
|
||||
|
||||
/// @brief Handle libass messages
|
||||
///
|
||||
static void msg_callback(int level, const char *fmt, va_list args, void *) {
|
||||
if (level >= 7) return;
|
||||
char buf[1024];
|
||||
|
@ -135,16 +132,11 @@ LibassSubtitlesProvider::LibassSubtitlesProvider(std::string) {
|
|||
wait_for_cache_thread(&cache_worker);
|
||||
}
|
||||
|
||||
/// @brief Destructor
|
||||
///
|
||||
LibassSubtitlesProvider::~LibassSubtitlesProvider() {
|
||||
if (ass_track) ass_free_track(ass_track);
|
||||
if (ass_renderer) ass_renderer_done(ass_renderer);
|
||||
}
|
||||
|
||||
/// @brief Load subtitles
|
||||
/// @param subs
|
||||
///
|
||||
void LibassSubtitlesProvider::LoadSubtitles(AssFile *subs) {
|
||||
// Prepare subtitles
|
||||
std::vector<char> data;
|
||||
|
@ -156,24 +148,11 @@ void LibassSubtitlesProvider::LoadSubtitles(AssFile *subs) {
|
|||
if (!ass_track) throw "libass failed to load subtitles.";
|
||||
}
|
||||
|
||||
/// DOCME
|
||||
#define _r(c) ((c)>>24)
|
||||
|
||||
/// DOCME
|
||||
#define _g(c) (((c)>>16)&0xFF)
|
||||
|
||||
/// DOCME
|
||||
#define _b(c) (((c)>>8)&0xFF)
|
||||
|
||||
/// DOCME
|
||||
#define _a(c) ((c)&0xFF)
|
||||
|
||||
|
||||
/// @brief Draw subtitles
|
||||
/// @param frame
|
||||
/// @param time
|
||||
/// @return
|
||||
///
|
||||
void LibassSubtitlesProvider::DrawSubtitles(AegiVideoFrame &frame,double time) {
|
||||
// Set size
|
||||
ass_set_frame_size(ass_renderer, frame.w, frame.h);
|
||||
|
@ -238,7 +217,6 @@ void LibassSubtitlesProvider::CacheFonts() {
|
|||
new FontConfigCacheThread(ass_library, &cache_worker);
|
||||
}
|
||||
|
||||
/// DOCME
|
||||
ASS_Library* LibassSubtitlesProvider::ass_library;
|
||||
FontConfigCacheThread* LibassSubtitlesProvider::cache_worker = nullptr;
|
||||
|
||||
|
|
|
@ -45,19 +45,9 @@ extern "C" {
|
|||
|
||||
class FontConfigCacheThread;
|
||||
|
||||
/// DOCME
|
||||
/// @class LibassSubtitlesProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class LibassSubtitlesProvider : public SubtitlesProvider {
|
||||
/// DOCME
|
||||
static ASS_Library* ass_library;
|
||||
|
||||
/// DOCME
|
||||
ASS_Renderer* ass_renderer;
|
||||
|
||||
/// DOCME
|
||||
ASS_Track* ass_track;
|
||||
|
||||
static FontConfigCacheThread *cache_worker;
|
||||
|
|
|
@ -43,11 +43,6 @@
|
|||
#include "main.h"
|
||||
#include "text_file_writer.h"
|
||||
|
||||
|
||||
/// @brief DOCME
|
||||
/// @param filename
|
||||
/// @param encoding
|
||||
///
|
||||
TextFileWriter::TextFileWriter(wxString const& filename, wxString encoding)
|
||||
: file(new agi::io::Save(STD_STR(filename), true))
|
||||
, conv()
|
||||
|
|
|
@ -39,27 +39,14 @@
|
|||
#include <wx/string.h>
|
||||
|
||||
namespace agi {
|
||||
namespace charset {
|
||||
class IconvWrapper;
|
||||
}
|
||||
namespace io {
|
||||
class Save;
|
||||
}
|
||||
namespace charset { class IconvWrapper; }
|
||||
namespace io { class Save; }
|
||||
}
|
||||
|
||||
#include <libaegisub/scoped_ptr.h>
|
||||
|
||||
|
||||
/// DOCME
|
||||
/// @class TextFileWriter
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class TextFileWriter {
|
||||
/// DOCME
|
||||
agi::scoped_ptr<agi::io::Save> file;
|
||||
|
||||
/// DOCME
|
||||
agi::scoped_ptr<agi::charset::IconvWrapper> conv;
|
||||
|
||||
public:
|
||||
|
|
|
@ -38,11 +38,6 @@
|
|||
namespace agi { struct Context; }
|
||||
namespace cmd { class Command; }
|
||||
|
||||
/// DOCME
|
||||
/// @class ToggleBitmap
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class ToggleBitmap : public wxControl {
|
||||
agi::Context *context;
|
||||
cmd::Command &command;
|
||||
|
|
|
@ -39,11 +39,6 @@ struct ToolTipBinding;
|
|||
class wxString;
|
||||
class wxWindow;
|
||||
|
||||
/// DOCME
|
||||
/// @class ToolTipManager
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class ToolTipManager {
|
||||
ToolTipManager();
|
||||
~ToolTipManager();
|
||||
|
|
|
@ -34,12 +34,7 @@
|
|||
|
||||
#include <wx/validate.h>
|
||||
|
||||
|
||||
/// DOCME
|
||||
/// @class NumValidator
|
||||
/// @brief wx validator that only allows valid numbers
|
||||
///
|
||||
/// DOCME
|
||||
/// A wx validator that only allows valid numbers
|
||||
class NumValidator : public wxValidator {
|
||||
double fValue; ///< Value if isFloat is true
|
||||
int iValue; ///< Value if isFloat is false
|
||||
|
|
|
@ -25,11 +25,6 @@
|
|||
|
||||
#include <wx/gdicmn.h>
|
||||
|
||||
/// DOCME
|
||||
/// @class Vector2D
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class Vector2D {
|
||||
float x, y;
|
||||
|
||||
|
|
|
@ -60,8 +60,6 @@ namespace agi {
|
|||
class OptionValue;
|
||||
}
|
||||
|
||||
/// @class VideoDisplay
|
||||
/// @brief DOCME
|
||||
class VideoDisplay : public wxGLCanvas {
|
||||
/// Signals the display is connected to
|
||||
std::deque<agi::signal::Connection> slots;
|
||||
|
|
|
@ -36,11 +36,6 @@
|
|||
|
||||
#include <wx/image.h>
|
||||
|
||||
/// DOCME
|
||||
/// @class AegiVideoFrame
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AegiVideoFrame {
|
||||
/// Whether the object owns its buffer. If this is false, **data should never be modified
|
||||
bool ownMem;
|
||||
|
|
|
@ -38,11 +38,6 @@
|
|||
#include "include/aegisub/video_provider.h"
|
||||
#include "video_frame.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class AvisynthVideoProvider
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class AvisynthVideoProvider: public VideoProvider {
|
||||
AviSynthWrapper avs;
|
||||
AegiVideoFrame iframe;
|
||||
|
|
|
@ -154,9 +154,7 @@ public:
|
|||
virtual ~VisualToolBase();
|
||||
};
|
||||
|
||||
/// @class VisualTool
|
||||
/// @brief Visual tool base class containing all common feature-related functionality
|
||||
/// DOCME
|
||||
/// Visual tool base class containing all common feature-related functionality
|
||||
template<class FeatureType>
|
||||
class VisualTool : public VisualToolBase {
|
||||
protected:
|
||||
|
|
|
@ -22,19 +22,13 @@
|
|||
#include "visual_feature.h"
|
||||
#include "visual_tool.h"
|
||||
|
||||
/// @class ClipCorner
|
||||
/// @brief VisualDraggableFeature with siblings
|
||||
/// VisualDraggableFeature with siblings
|
||||
struct ClipCorner : public VisualDraggableFeature {
|
||||
ClipCorner *horiz; /// Other corner on this corner's horizontal line
|
||||
ClipCorner *vert; /// Other corner on this corner's vertical line
|
||||
ClipCorner *horiz; ///< Other corner on this corner's horizontal line
|
||||
ClipCorner *vert; ///< Other corner on this corner's vertical line
|
||||
ClipCorner() : VisualDraggableFeature() , horiz(0) , vert(0) { }
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class VisualToolClip
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class VisualToolClip : public VisualTool<ClipCorner> {
|
||||
Vector2D cur_1;
|
||||
Vector2D cur_2;
|
||||
|
|
|
@ -22,9 +22,6 @@
|
|||
#include "visual_feature.h"
|
||||
#include "visual_tool.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class VisualToolRotateXY
|
||||
/// @brief DOCME
|
||||
class VisualToolRotateXY : public VisualTool<VisualDraggableFeature> {
|
||||
float angle_x; /// Current x rotation
|
||||
float angle_y; /// Current y rotation
|
||||
|
|
|
@ -22,11 +22,6 @@
|
|||
#include "visual_feature.h"
|
||||
#include "visual_tool.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class VisualToolRotateZ
|
||||
/// @brief DOCME
|
||||
///
|
||||
/// DOCME
|
||||
class VisualToolRotateZ : public VisualTool<VisualDraggableFeature> {
|
||||
float angle; ///< Current Z rotation
|
||||
float orig_angle; ///< Z rotation at the beginning of the current hold
|
||||
|
|
|
@ -22,9 +22,6 @@
|
|||
#include "visual_feature.h"
|
||||
#include "visual_tool.h"
|
||||
|
||||
/// DOCME
|
||||
/// @class VisualToolScale
|
||||
/// @brief DOCME
|
||||
class VisualToolScale : public VisualTool<VisualDraggableFeature> {
|
||||
Vector2D scale; ///< The current scale
|
||||
Vector2D initial_scale; ///< The scale at the beginning of the current hold
|
||||
|
|
|
@ -40,9 +40,6 @@ struct VisualToolVectorClipDraggableFeature : public VisualDraggableFeature {
|
|||
{ }
|
||||
};
|
||||
|
||||
/// DOCME
|
||||
/// @class VisualToolVectorClip
|
||||
/// @brief DOCME
|
||||
class VisualToolVectorClip : public VisualTool<VisualToolVectorClipDraggableFeature> {
|
||||
Spline spline; /// The current spline
|
||||
wxToolBar *toolBar; /// The subtoolbar
|
||||
|
|
Loading…
Reference in a new issue