Files
oak-editor/crates/oakplugin/ofx/ofxPixels.h
T
Mike-Solar b4ceaa9cab feat(oakplugin): GL render bridge, color picker, push-button action, worker progress, Interact host
- gl_bridge: macOS CGL offscreen context (process-wide singleton,
  serialized GlGuard), real GL output textures/FBOs, glReadPixels
  readback with vertical flip and format conversion; use_opengl now
  really engages for OpenGLRenderSupported plugins (verified with real
  GL rendering: C smoke 11/11, unit tests, GL e2e).
- OfxColor: color params get a swatch button plus a real picker popup
  (RGBA sliders, live preview, hex input, undoable commit) replacing
  the four spinboxes.
- Push buttons route kOfxActionInstanceChanged (UserEdited) per the
  OFX contract; test plugin asserts the callback.
- Worker-side plugin progress flows to the main-process progress
  dialog over the NDJSON control channel, with cancel propagation.
- OFX Interact host: NewInteract/Describe lifecycle, Draw/Pen/Key/Idle
  action surface with proper in-args, DrawSuite v1 host implementation
  sharing the gl_bridge context; interact test plugin verifies the
  event stream and real GL drawing.
2026-08-19 22:14:54 +08:00

63 lines
1.3 KiB
C

#ifndef _ofxPixels_h_
#define _ofxPixels_h_
// Copyright OpenFX and contributors to the OpenFX project.
// SPDX-License-Identifier: BSD-3-Clause
#ifdef __cplusplus
extern "C" {
#endif
/** @file ofxPixels.h
Contains pixel struct definitions
*/
/** @brief Defines an 8 bit per component RGBA pixel */
typedef struct OfxRGBAColourB {
unsigned char r, g, b, a;
}OfxRGBAColourB;
/** @brief Defines a 16 bit per component RGBA pixel */
typedef struct OfxRGBAColourS {
unsigned short r, g, b, a;
}OfxRGBAColourS;
/** @brief Defines a floating point component RGBA pixel */
typedef struct OfxRGBAColourF {
float r, g, b, a;
}OfxRGBAColourF;
/** @brief Defines a double precision floating point component RGBA pixel */
typedef struct OfxRGBAColourD {
double r, g, b, a;
}OfxRGBAColourD;
/** @brief Defines an 8 bit per component RGB pixel */
typedef struct OfxRGBColourB {
unsigned char r, g, b;
}OfxRGBColourB;
/** @brief Defines a 16 bit per component RGB pixel */
typedef struct OfxRGBColourS {
unsigned short r, g, b;
}OfxRGBColourS;
/** @brief Defines a floating point component RGB pixel */
typedef struct OfxRGBColourF {
float r, g, b;
}OfxRGBColourF;
/** @brief Defines a double precision floating point component RGB pixel */
typedef struct OfxRGBColourD {
double r, g, b;
}OfxRGBColourD;
#ifdef __cplusplus
}
#endif
#endif