These interfaces can be used to embed visualisations in other windows.

uie::visualisation is implemented by the built-in spectrum analyser visualisation.


class visualisation : public uie::extension_base

Interface for vis_extension service. This service allows you to embed the default Columns UI visualisation, and any other visualisations that implement it, into your own window.

Public Functions

virtual void enable(const visualisation_host_ptr &p_host) = 0

Enables the visualisation.


p_host[in] Pointer to host to use for drawing operations

virtual void paint_background(HDC dc, const RECT *rc_area) = 0

Paints the standard background of your visualisation.

virtual void disable() = 0

Disables the visualisation.


Public Static Functions

static inline void create_by_guid(const GUID &guid, visualisation_ptr &p_out)

Create extension by GUID.


guid[in] GUID of a vis_extension


class visualisation_host : public service_base

Interface for visualisation extension hosts.

Public Types

typedef pfc::refcounted_object_ptr_t<painter_t> painter_ptr

Public Functions

virtual void create_painter(painter_ptr &p_out) = 0

Creates a painter_t object.

class painter_t : public pfc::refcounted_object_root

Interface to paint on a visualistion host.


Releasing the object ends the paint operation, frees the DC and updates the screen.

Public Functions

virtual HDC get_device_context() const = 0
virtual const RECT *get_area() const = 0


template<class T>
class visualisation_factory : public service_factory_t<T>

Service factory for vis extensions.

Usage example
static vis_extension_factory< my_vis_extension > foo_vis;