Struct gegl::Node

source ·
#[repr(transparent)]
pub struct Node { /* private fields */ }
Expand description

Properties

cache-policy

Readable | Writeable | Construct

dont-cache

Readable | Writeable | Construct

gegl-operation

Readable | Writeable | Construct

name

Readable | Writeable | Construct

operation

Readable | Writeable | Construct

passthrough

Readable | Writeable | Construct

use-opencl

Readable | Writeable | Construct

Signals

computed
invalidated
progress

GLib type: GObject with reference counted clone semantics.

Implementations§

source§

impl Node

source

pub fn blit( &self, scale: f64, roi: &Rectangle, format: &Format, destination_buf: Option<&mut [u8]>, rowstride: i32, flags: BlitFlags )

Render a rectangular region from a node.

scale

the scale to render at 1.0 is default, other values changes the width/height of the sampled region.

roi

the rectangle to render from the node, the coordinate system used is coordinates after scale has been applied.

format

the BablFormat desired.

destination_buf

a memory buffer large enough to contain the data, can be left as NULL when forcing a rendering of a region.

rowstride

rowstride in bytes, or GEGL_AUTO_ROWSTRIDE to compute the rowstride based on the width and bytes per pixel for the specified format.

flags

an or’ed combination of GEGL_BLIT_DEFAULT, GEGL_BLIT_CACHE and GEGL_BLIT_DIRTY. if cache is enabled, a cache will be set up for subsequent requests of image data from this node. By passing in GEGL_BLIT_DIRTY the function will return with the latest rendered results in the cache without regard to wheter the regions has been rendered or not.

source

pub fn new_child( &self, operation: Option<&str>, props: &[(&str, Value)] ) -> Option<Node>

Creates a new processing node that performs the specified operation with a NULL terminated list of key/value pairs for initial parameter values configuring the operation. Usually the first pair should be “operation” and the type of operation to be associated. If no operation is provided the node doesn’t have an initial operation and can be used to construct a subgraph with special middle-man routing nodes created with gegl_node_get_output_proxy and gegl_node_get_input_proxy.

first_property_name

the first property name

Returns

A newly created Node. The node will be destroyed by the parent. Calling g_object_unref on a node will cause the node to be dropped by the parent. (You may also add additional references using g_object_ref/g_object_unref, but in general relying on the parents reference counting is easiest.)

Synthetic sugar for linking a chain of nodes with “input”->“output”. The list is NULL terminated.

first_sink

the first consumer of data.

source

pub fn bounding_box(&self) -> Rectangle

Returns the position and dimensions of a rectangle spanning the area defined by a node.

source§

impl Node

source

pub fn new() -> Node

Create a new graph that can contain further processing nodes.

Returns

A new top level Node (which can be used as a graph). When you are done using this graph instance it should be unreferenced with g_object_unref. This will also free any sub nodes created from this node.

source

pub fn from_file(path: &str) -> Node

The Node returned contains the graph described by the tree of stacks in the XML document. The tree is connected to the “output” pad of the returned node and thus can be used directly for processing.

path

the path to a file on the local file system to be parsed.

Returns

a GeglNode containing the parsed XML as a subgraph.

source

pub fn from_serialized(chaindata: &str, path_root: &str) -> Node

source

pub fn from_xml(xmldata: &str, path_root: &str) -> Node

The Node returned contains the graph described by the tree of stacks in the XML document. The tree is connected to the “output” pad of the returned node and thus can be used directly for processing.

xmldata

a \0 terminated string containing XML data to be parsed.

path_root

a file system path that relative paths in the XML will be resolved in relation to.

Returns

a GeglNode containing the parsed XML as a subgraph.

source

pub fn builder() -> NodeBuilder

Creates a new builder-pattern struct instance to construct Node objects.

This method returns an instance of NodeBuilder which can be used to create Node objects.

source

pub fn add_child(&self, child: &Node) -> Option<Node>

Make the GeglNode self, take a reference on child. This reference will be dropped when the reference count on the graph reaches zero.

child

a GeglNode.

Returns

the child.

source

pub fn blit_buffer( &self, buffer: Option<&Buffer>, roi: Option<&Rectangle>, level: i32, abyss_policy: AbyssPolicy )

Render a rectangular region from a node to the given buffer.

buffer

the Buffer to render to.

roi

the rectangle to render.

level

mipmap level to render (0 for all)

source

pub fn connect(&self, a_pad_name: &str, b: &Node, b_pad_name: &str) -> bool

Makes a connection between the pads of two nodes, one pad should be a source pad the other a sink pad, order does not matter.

Returns TRUE if the connection was successfully made.

a_pad_name

and the pad of the node we want connected.

b

another node

b_pad_name

and its pad to be connected.

source

pub fn connect_from( &self, input_pad_name: &str, source: &Node, output_pad_name: &str ) -> bool

Makes a connection between the pads of two nodes.

Returns TRUE if the connection was successfully made.

input_pad_name

the name of the input pad we are connecting to

source

the node producing data we want to connect.

output_pad_name

the output pad we want to use on the source.

source

pub fn connect_to( &self, output_pad_name: &str, sink: &Node, input_pad_name: &str ) -> bool

Makes a connection between the pads of two nodes.

Returns TRUE if the connection was successfully made.

output_pad_name

the output pad we want to use on the source.

sink

the node we’re connecting an input to

input_pad_name

the name of the input pad we are connecting to

source

pub fn create_child(&self, operation: &str) -> Option<Node>

Creates a new processing node that performs the specified operation. All properties of the operation will have their default values. This is included as an addition to gegl_node_new_child in the public API to have a non varargs entry point for bindings as well as sometimes simpler more readable code.

operation

the type of node to create.

Returns

a newly created node. The node will be destroyed by the parent. Calling g_object_unref on a node will cause the node to be dropped by the parent. (You may also add additional references using g_object_ref/g_object_unref, but in general relying on the parents reference counting is easiest.)

source

pub fn detect(&self, x: i32, y: i32) -> Option<Node>

Performs hit detection by returning the node providing data at a given coordinate pair. Currently operates only on bounding boxes and not pixel data.

x

x coordinate

y

y coordinate

Returns

the GeglNode providing the data ending up at x,y in the output of self.

source

pub fn disconnect(&self, input_pad: &str) -> bool

Disconnects node connected to input_pad of self (if any).

Returns TRUE if a connection was broken.

input_pad

the input pad to disconnect.

source

pub fn find_property(&self, property_name: &str) -> Option<ParamSpec>

property_name

the name of the property to get a paramspec for.

Returns

the GParamSpec of property or NULL if no such property exists.

source

pub fn children(&self) -> Vec<Node>

Returns

a list of the nodes contained within a GeglNode that is a subgraph. Use g_list_free () on the list when done.

source

pub fn consumers(&self, output_pad: &str) -> (i32, Vec<Node>, Vec<GString>)

Retrieve which pads on which nodes are connected to a named output_pad, and the number of connections. Both the location for the generated nodes array and pads array can be left as NULL. If they are non NULL both should be freed with g_free. The arrays are NULL terminated.

Returns the number of consumers connected to this output_pad.

output_pad

the output pad we want to know who uses.

Returns
nodes

optional return location for array of nodes.

pads

optional return location for array of pad names.

source

pub fn gegl_operation(&self) -> Option<Operation>

Returns

The operation object associated with this node or NULL if there is no op associated.

source

pub fn input_proxy(&self, pad_name: &str) -> Option<Node>

Proxies are used to route between nodes of a subgraph contained within a node.

pad_name

the name of the pad.

Returns

Returns an input proxy for the named pad. If no input proxy exists with this name a new one will be created.

source

pub fn operation(&self) -> Option<GString>

Returns

The type of processing operation associated with this node, or NULL if there is no op associated. The special name “GraphNode” is returned if the node is the container of a subgraph.

source

pub fn output_proxy(&self, pad_name: &str) -> Option<Node>

Proxies are used to route between nodes of a subgraph contained within a node.

pad_name

the name of the pad.

Returns

Returns a output proxy for the named pad. If no output proxy exists with this name a new one will be created.

source

pub fn parent(&self) -> Option<Node>

Returns a GeglNode that keeps a reference on a child.

Returns

the parent of a node or NULL.

source

pub fn is_passthrough(&self) -> bool

source

pub fn property(&self, property_name: &str) -> Value

This is mainly included for language bindings. Using gegl_node_get is more convenient when programming in C.

property_name

the name of the property to get

Returns
value

pointer to a GValue where the value of the property should be stored

source

pub fn has_pad(&self, pad_name: &str) -> bool

Returns TRUE if the node has a pad with the specified name

pad_name

the pad name we are looking for

source

pub fn introspectable_get_bounding_box(&self) -> Option<Rectangle>

Returns the position and dimensions of a rectangle spanning the area defined by a node.

Returns

pointer a Rectangle

source

pub fn introspectable_get_property(&self, property_name: &str) -> Option<Value>

property_name

the name of the property to get

Returns

pointer to a GValue containing the value of the property

source

pub fn is_graph(&self) -> bool

Synthetic sugar for linking the “output” pad of self to the “input” pad of sink.

sink

the consumer of data.

source

pub fn list_input_pads(&self) -> Vec<GString>

If the node has any input pads this function returns a null terminated array of pad names, otherwise it returns NULL. The return value can be freed with g_strfreev().

source

pub fn list_output_pads(&self) -> Vec<GString>

If the node has any output pads this function returns a null terminated array of pad names, otherwise it returns NULL. The return value can be freed with g_strfreev().

source

pub fn new_processor(&self, rectangle: &Rectangle) -> Option<Processor>

rectangle

the Rectangle to work on or NULL to work on all available data.

Returns

a new Processor.

source

pub fn process(&self)

Render a composition. This can be used for instance on a node with a “png-save” operation to render all necessary data, and make it be written to file. This function wraps the usage of a GeglProcessor in a single blocking function call. If you need a non-blocking operation, then make a direct use of gegl_processor_work. See Processor.


GeglNode *gegl; GeglRectangle roi; GeglNode *png_save; unsigned char *buffer;

gegl = gegl_parse_xml (xml_data); roi = gegl_node_get_bounding_box (gegl);

create png_save from the graph, the parent/child relationship
only mean anything when it comes to memory management.

png_save = gegl_node_new_child (gegl, “operation”, “gegl:png-save”, “path”, “output.png”, NULL);

gegl_node_link (gegl, png_save); gegl_node_process (png_save);

buffer = malloc (roi.wroi.h4); gegl_node_blit (gegl, 1.0, &roi, babl_format(“R’G’B’A u8”), buffer, GEGL_AUTO_ROWSTRIDE, GEGL_BLIT_DEFAULT);

source

pub fn progress(&self, progress: f64, message: &str)

source

pub fn remove_child(&self, child: &Node) -> Option<Node>

Removes a child from a GeglNode. The reference previously held will be dropped so increase the reference count before removing when reparenting a child between two graphs.

child

a GeglNode.

Returns

the child.

source

pub fn set_enum_as_string(&self, key: &str, value: &str)

source

pub fn set_passthrough(&self, passthrough: bool)

source

pub fn set_property(&self, property_name: &str, value: &Value)

This is mainly included for language bindings. Using gegl_node_set is more convenient when programming in C.

property_name

the name of the property to set

value

a GValue containing the value to be set in the property.

source

pub fn set_time(&self, time: f64)

Sets the right value in animated properties of this node and all its dependendcies to be the specified time position.

time

the time to set the properties which have keyfraes attached to

source

pub fn to_xml(&self, path_root: &str) -> Option<GString>

Returns a freshly allocated \0 terminated string containing a XML serialization of the composition produced by a node (and thus also the nodes contributing data to the specified node). To export a gegl graph, connect the internal output node to an output proxy (see gegl_node_get_output_proxy.) and use the proxy node as the basis for the serialization.

path_root

filesystem path to construct relative paths from.

source

pub fn to_xml_full( &self, tail: Option<&Node>, path_root: &str ) -> Option<GString>

Returns a freshly allocated \0 terminated string containing a XML serialization of a segment of a graph from self to tail nodes. If tail is None then this behaves just like gegl_node_to_xml.

tail

a Node

path_root

filesystem path to construct relative paths from.

Returns

XML serialization of a graph segment.

source

pub fn cache_policy(&self) -> CachePolicy

source

pub fn set_cache_policy(&self, cache_policy: CachePolicy)

source

pub fn is_dont_cache(&self) -> bool

source

pub fn set_dont_cache(&self, dont_cache: bool)

source

pub fn set_gegl_operation(&self, gegl_operation: Option<&Operation>)

source

pub fn name(&self) -> Option<GString>

source

pub fn set_name(&self, name: Option<&str>)

source

pub fn set_operation(&self, operation: Option<&str>)

source

pub fn uses_opencl(&self) -> bool

source

pub fn set_use_opencl(&self, use_opencl: bool)

source

pub fn connect_computed<F: Fn(&Self, &Rectangle) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_invalidated<F: Fn(&Self, &Rectangle) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_progress<F: Fn(&Self, f64) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_cache_policy_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_dont_cache_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_gegl_operation_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_name_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_operation_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_passthrough_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_use_opencl_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Trait Implementations§

source§

impl Clone for Node

source§

fn clone(&self) -> Self

Makes a clone of this shared reference.

This increments the strong reference count of the object. Dropping the object will decrement it again.

1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Node

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Node

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl HasParamSpec for Node

§

type ParamSpec = ParamSpecObject

§

type SetValue = Node

Preferred value to be used as setter for the associated ParamSpec.
§

type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, Node>

source§

fn param_spec_builder() -> Self::BuilderFn

source§

impl Hash for Node

source§

fn hash<H>(&self, state: &mut H)where H: Hasher,

Hashes the memory address of this object.

1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Node

source§

fn cmp(&self, other: &Self) -> Ordering

Comparison for two GObjects.

Compares the memory addresses of the provided objects.

1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl ParentClassIs for Node

§

type Parent = Object

source§

impl<OT: ObjectType> PartialEq<OT> for Node

source§

fn eq(&self, other: &OT) -> bool

Equality for two GObjects.

Two GObjects are equal if their memory addresses are equal.

1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<OT: ObjectType> PartialOrd<OT> for Node

source§

fn partial_cmp(&self, other: &OT) -> Option<Ordering>

Partial comparison for two GObjects.

Compares the memory addresses of the provided objects.

1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for Node

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for Node

Auto Trait Implementations§

§

impl RefUnwindSafe for Node

§

impl !Send for Node

§

impl !Sync for Node

§

impl Unpin for Node

§

impl UnwindSafe for Node

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Cast for Twhere T: ObjectType,

§

fn upcast<T>(self) -> Twhere T: ObjectType, Self: IsA<T>,

Upcasts an object to a superclass or interface T. Read more
§

fn upcast_ref<T>(&self) -> &Twhere T: ObjectType, Self: IsA<T>,

Upcasts an object to a reference of its superclass or interface T. Read more
§

fn downcast<T>(self) -> Result<T, Self>where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a subclass or interface implementor T. Read more
§

fn downcast_ref<T>(&self) -> Option<&T>where T: ObjectType, Self: MayDowncastTo<T>,

Tries to downcast to a reference of its subclass or interface implementor T. Read more
§

fn dynamic_cast<T>(self) -> Result<T, Self>where T: ObjectType,

Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while upcast will do many checks at compile-time already. downcast will perform the same checks at runtime as dynamic_cast, but will also ensure some amount of compile-time safety. Read more
§

fn dynamic_cast_ref<T>(&self) -> Option<&T>where T: ObjectType,

Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
§

unsafe fn unsafe_cast<T>(self) -> Twhere T: ObjectType,

Casts to T unconditionally. Read more
§

unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere T: ObjectType,

Casts to &T unconditionally. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec( ptr: *const GList, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_container_num_as_vec( _: *const GList, _: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T, Global>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec( ptr: *const GPtrArray, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_full_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T, Global>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec( ptr: *const GSList, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_container_num_as_vec( _: *const GSList, _: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_full_num_as_vec( _: *const GSList, _: usize ) -> Vec<T, Global>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T, Global>

§

unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T, Global>

§

unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T, Global>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T, Global>

§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T, Global>

§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T, Global>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T, Global>

§

unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T, Global>

§

unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T, Global>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T, Global>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T, Global>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T, Global>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T, Global>

§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T, Global>

§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoClosureReturnValue for Twhere T: Into<Value>,

§

impl<U> IsSubclassableExt for Uwhere U: IsClass + ParentClassIs,

§

fn parent_class_init<T>(class: &mut Class<U>)where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,

§

fn parent_instance_init<T>(instance: &mut InitializingObject<T>)where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,

§

impl<T> ObjectExt for Twhere T: ObjectType,

§

fn is<U>(&self) -> boolwhere U: StaticType,

Returns true if the object is an instance of (can be cast to) T.
§

fn type_(&self) -> Type

Returns the type of the object.
§

fn object_class(&self) -> &Class<Object>

Returns the [ObjectClass] of the object. Read more
§

fn class(&self) -> &Class<T>where T: IsClass,

Returns the class of the object.
§

fn class_of<U>(&self) -> Option<&Class<U>>where U: IsClass,

Returns the class of the object in the given type T. Read more
§

fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where U: IsInterface,

Returns the interface T of the object. Read more
§

fn set_property(&self, property_name: &str, value: impl Into<Value>)

Sets the property property_name of the object to value value. Read more
§

fn set_property_from_value(&self, property_name: &str, value: &Value)

Sets the property property_name of the object to value value. Read more
§

fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])

Sets multiple properties of the object at once. Read more
§

fn set_properties_from_value(&self, property_values: &[(&str, Value)])

Sets multiple properties of the object at once. Read more
§

fn property<V>(&self, property_name: &str) -> Vwhere V: for<'b> FromValue<'b> + 'static,

Gets the property property_name of the object and cast it to the type V. Read more
§

fn property_value(&self, property_name: &str) -> Value

Gets the property property_name of the object. Read more
§

fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if the object has a property property_name of the given type_. Read more
§

fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this object. Read more
§

fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this object.
§

fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this object.
§

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

Freeze all property notifications until the return guard object is dropped. Read more
§

unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where QD: 'static,

Set arbitrary data on this object with the given key. Read more
§

unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
§

unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
§

unsafe fn set_data<QD>(&self, key: &str, value: QD)where QD: 'static,

Set arbitrary data on this object with the given key. Read more
§

unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
§

unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
§

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
§

fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)

Stop emission of the currently emitted signal.
§

fn stop_signal_emission_by_name(&self, signal_name: &str)

Stop emission of the currently emitted signal by the (possibly detailed) signal name.
§

fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_name on this object. Read more
§

fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_id on this object. Read more
§

fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_name on this object. Read more
§

fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_id on this object. Read more
§

unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_name on this object. Read more
§

unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_id on this object. Read more
§

fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_name on this object. Read more
§

fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_id on this object. Read more
§

fn watch_closure(&self, closure: &impl AsRef<Closure>)

Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
§

fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by signal id. Read more
§

fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>

Same as [Self::emit] but takes Value for the arguments.
§

fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by its name. Read more
§

fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>

Emit signal by its name. Read more
§

fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by its name with details. Read more
§

fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by its name with details. Read more
§

fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by signal id with details. Read more
§

fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by signal id with details. Read more
§

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
§

fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + Send + Sync + 'static,

Connect to the notify signal of the object. Read more
§

fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + 'static,

Connect to the notify signal of the object. Read more
§

unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec),

Connect to the notify signal of the object. Read more
§

fn notify(&self, property_name: &str)

Notify that the given property has changed its value. Read more
§

fn notify_by_pspec(&self, pspec: &ParamSpec)

Notify that the given property has changed its value. Read more
§

fn downgrade(&self) -> WeakRef<T>

Downgrade this object to a weak reference.
§

fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>where F: FnOnce() + Send + 'static,

Add a callback to be notified when the Object is disposed.
§

fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where F: FnOnce() + 'static,

Add a callback to be notified when the Object is disposed. Read more
§

fn bind_property<'f, 't, O, 'a>( &'a self, source_property: &'a str, target: &'a O, target_property: &'a str ) -> BindingBuilder<'a, 'f, 't>where O: ObjectType,

Bind property source_property on this object to the target_property on the target object. Read more
§

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
§

unsafe fn run_dispose(&self)

Runs the dispose mechanism of the object. Read more
§

impl<T> Property for Twhere T: HasParamSpec,

§

type Value = T

§

impl<T> PropertyGet for Twhere T: HasParamSpec,

§

type Value = T

§

fn get<R, F>(&self, f: F) -> Rwhere F: Fn(&<T as PropertyGet>::Value) -> R,

§

impl<T> StaticTypeExt for Twhere T: StaticType,

§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TransparentType for Twhere T: TransparentPtrType,

§

type GlibType = <T as GlibPtrDefault>::GlibType

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T> TryFromClosureReturnValue for Twhere T: for<'a> FromValue<'a> + StaticType + 'static,

§

fn try_from_closure_return_value(v: Option<Value>) -> Result<T, BoolError>

source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<'a, T, C, E> FromValueOptional<'a> for Twhere T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,

§

impl<Super, Sub> MayDowncastTo<Sub> for Superwhere Super: IsA<Super>, Sub: IsA<Super>,