Squid

screenshot of Squid

Squid

C# Realtime GUI System

Overview

Squid is a user interface framework designed for creating interfaces for games and other 2D/3D realtime applications. It operates using a Retained Mode system and can be used with any rendering engine on platforms that support the .NET 2.0 framework. Squid is a UI blackbox that is easy to integrate and is engine agnostic. It does not manage actual texture or font resources, only integers and strings, and requires the implementation of a single interface called ISquidRenderer.

Features

  • Scale9 Texture Grid: Allows for smooth scaling and resizing of textures.
  • Docking and Anchoring: Enables precise control of the positioning and alignment of UI elements.
  • Margin and Padding: Provides options for creating space around UI elements.
  • Z-Order, Clipping, and Scissoring: Allows for control over element stacking, clipping of content, and scissoring of UI elements.
  • Hierarchical Opacity: Allows for setting opacity for individual UI elements and their children.
  • Input Event Handlers: Supports capturing and handling various input events.
  • International Keyboard Support: Includes support for keyboard input in different languages.
  • Custom Mouse Cursors: Allows for the customization of mouse cursors.
  • Tooltips: Supports the display of tooltips for UI elements.
  • Drag & Drop: Provides functionality for dragging and dropping UI elements.
  • Snapping Windows: Enables the snapping of windows to certain positions or grids.
  • Modal Windows: Supports the creation of modal windows.
  • Control State Fading: Allows for fading in and out of UI elements based on their state.
  • Easy Skinning via Styles: Provides a convenient way to apply customized styles to UI elements.
  • Automatic Batching: Optimizes rendering performance by automatically batching draw calls.
  • Easy to Extend: Allows for easy extension and customization of the framework.
  • Fast: Designed for optimal performance.

Installation

To install Squid, follow these steps:

  1. Download the Squid framework from the official GitHub repository: link to repository
  2. Extract the downloaded files to your desired location.
  3. Open your project in a compatible IDE.
  4. Add a reference to the Squid framework to your project.
  5. Implement the ISquidRenderer interface to integrate Squid with your desired rendering engine.
  6. Start using Squid to create user interfaces for your games or other 2D/3D realtime applications.

Summary

Squid is a versatile UI framework designed for creating user interfaces for games and other realtime applications. It offers a range of features such as scale9 texture grid, docking and anchoring, hierarchical opacity, input event handling, and more. Squid is easy to integrate, engine agnostic, and provides options for customization and extension. With its focus on performance, Squid aims to optimize the rendering of UI elements and provide an efficient user interface solution.

ui-kit
UI Kits & Components

A UI kit provides developers with a set of reusable components that can be easily integrated into a website or application. These components are pre-designed with consistent styling and functionality, allowing developers to save time and effort in the design and development process. UI kits can be either custom-built or third-party, and often include components for buttons, forms, typography, icons, and more.