Here are the key things to note about function tracing in Ring 1.5:
- RingVM_SetTrace() allows setting a function to be called on trace events. This function will receive information about each event.
- RingVM_TraceData() returns an array with details about the current trace event like line number, file name, function name, etc.
- RingVM_TraceEvent() returns the type of event that triggered the trace, like new line, new function, return, etc.
- Additional functions provide information like the current function name, number of scopes, etc.
- RingVM_EvalInScope() allows evaluating code in a specific scope.
- The trace function receives
The Ring programming language version 1.5.1 book - Part 8 of 180Mahmoud Samir Fayed
Here are the key things to note about Ring VM tracing functions:
- RingVM_SetTrace() allows setting a tracing function that will be called at various points during code execution.
- RingVM_TraceData() returns an array with information about the current execution context, like line number, file name, function name etc.
- RingVM_TraceEvent() returns an integer indicating the current trace event, like new line, new function, return etc.
- RingVM_TraceFunc() returns the name of the currently executing function.
- Tracing provides visibility into things like function calls, returns, line execution order, and current execution context.
- It allows debugging and profiling Ring code execution
The Ring programming language version 1.5.4 book - Part 9 of 185Mahmoud Samir Fayed
Here are the key things to note about Ring VM tracing functions:
- RingVM_SetTrace() allows setting a tracing function that will be called at various points during code execution.
- RingVM_TraceData() returns an array with information about the current execution context, like line number, file name, function name, etc.
- RingVM_TraceEvent() returns an integer indicating the type of event that triggered the trace function (new line, new function, return, etc).
- RingVM_TraceFunc() returns the name of the currently executing function.
- The trace function provides a way to log and monitor execution flow, variable values, performance, etc. It gets called at well-
This document introduces Gutscript, a new programming language designed for PHP developers that aims to address perceived issues with PHP syntax and semantics. Gutscript code compiles to PHP, allowing reuse of existing PHP libraries. It uses a simpler, more concise syntax inspired by languages like Ruby and Perl. The document provides examples comparing Gutscript and PHP code, demonstrating how Gutscript addresses issues like verbose function definitions, complex namespaces, and inconsistent syntax. It also discusses the Go-based implementation and opportunities for optimization of compiled Gutscript code.
The document provides an introduction and instructions for installing PHP and setting up a development environment on Windows. It includes examples of basic PHP code like displaying text, using variables, arrays, loops and conditional statements. The last section lists some assignments for writing additional PHP code using these basic elements.
The Ring programming language version 1.5.2 book - Part 8 of 181Mahmoud Samir Fayed
This document provides code samples and documentation for using RingFreeGLUT and RingOpenGL to create 3D graphics applications in Ring. It includes code to initialize OpenGL and FreeGLUT, define callbacks for rendering, user input, and window resizing. The code draws 9 snowmen on a ground plane and allows rotating the camera with mouse input. It also includes code for drawing text using bitmap fonts and computing the frames per second.
Anatomy of a PHP Request ( UTOSC 2010 )Joseph Scott
This document provides an overview of the PHP request lifecycle, including how a PHP file is read, parsed, compiled, executed, and outputs. It discusses how PHP is handled by different web servers like Apache, Nginx, and FastCGI. It also covers topics like opcode caching with APC, profiling PHP performance with Xdebug, and analyzing PHP opcodes with Vulcan Logic Dumper.
Programa en C++ ( escriba 3 números y diga cual es el mayor))Alex Penso Romero
This C++ code prompts the user to input three numbers, stores them as variables a, b, and c, then uses if/else statements to output which of the three numbers is the greatest. The program is authored by Alex Penso Romero and includes their contact information and libraries needed to run the conditional logic and input/output functions.
This document discusses functions in C programming. It defines different types of functions like standard library functions, user-defined functions and main function. It explains how functions can be defined in any order and called from any other function. It also provides tips about functions like a C program needs at least one main function, function names should be unique, more function calls means slower execution.
This document introduces PHP 5.4 and provides an overview of new features and changes from previous versions. Some key additions in PHP 5.4 include improved performance, always available short echo tags, closure support for $this, class member access on instantiation, and a built-in development web server. The document also discusses how to switch to PHP 5.4 on Gentoo Linux and provides useful links for more information.
This document contains configuration settings for Photodex ProShow Workspace. It lists over 100 preferences related to display, encoding, menu, and project settings for the ProShow application. The preferences include settings for the selected project file, screen dimensions, audio/video formats, menu colors/fonts, and recently opened files.
The Ring programming language version 1.6 book - Part 10 of 189Mahmoud Samir Fayed
The document describes code for a 3D graphics application using OpenGL and RingFreeGLUT. It includes functions for rendering a scene with 9 snowmen on a ground plane, handling user input for camera movement and rotation, and displaying frames per second. Keyboard, mouse, and menu callbacks are defined to control movement, rotation, and settings like polygon mode, color, and font. The main function initializes GLUT, registers the callbacks, and enters the event loop.
The Ring programming language version 1.7 book - Part 11 of 196Mahmoud Samir Fayed
The document describes an update to Ring's code generator for extensions that improves support for constant types. The update allows constants to be types other than numbers, such as strings and pointers. To use this, code can be added before and after <constant> tags to set the default constant type to C_CONSTANT_TYPE_POINTER and the pointer type to "void *". This would properly handle constants like GLUT font pointers in the RingFreeGLUT extension example provided.
This document contains two DNS client-side code snippets in C/C++. The first code connects to a DNS server, gets a domain name from the user, formats it into a proper DNS query, sends the query to the server, receives the response, and analyzes the response. The second code fragment analyzes the DNS response in more detail by extracting fields like name, type, class, and checking error codes. It prints out information about errors, failures or format issues found in the response.
This C++ program implements a binomial heap data structure. It includes functions to insert nodes, extract the minimum node, decrease a node's key, delete a node, and display the heap. The main function provides a menu for testing these binomial heap operations on a sample run of the program.
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5 b...ssuserd6b1fd
C programming language notes for beginners and Collage students. Written for beginners. Colored graphics. Function by Function explanation with complete examples. Well commented examples. Illustrations are made available for data dealing at memory level.
03 of 03 parts
Get Part 1 from https://www.slideshare.net/ArunUmrao/notes-for-c-programming-for-bca-mca-b-sc-msc-be-amp-btech-1st-year-1
Get Part 2 from https://www.slideshare.net/ArunUmrao/notes-for-c-programming-for-bca-mca-b-sc-msc-be-amp-btech-1st-year-2
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, while a static type system prevents unintended operations. C provides constructs that map efficiently to typical machine instructions and has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computers, from supercomputers to PLCs and embedded system.
This document provides an outline and overview of PHP 101. It begins with introductions and covers topics like web fundamentals, static and dynamic pages using HTML, CSS, JavaScript, and PHP. It then covers PHP fundamentals like syntax, types, arrays, constants, variables, expressions, operators, control structures and loops. It also discusses functions, predefined variables, sessions and cookies, and preventing XSS attacks. It concludes by covering PHP and MySQL integration for querying and fetching data from databases.
This document contains source code for a C++ railway reservation system with the following key features:
1. It includes classes for user login, train details, reservations, and cancellations.
2. The database() function allows an administrator to create, add, display, and manage train detail records.
3. The reserve() function allows users to search the train details and make reservations by adding records to a passenger file.
4. Other functions provide interfaces for displaying passenger details, ticket inquiries, and cancelling reservations with refund calculations.
The source code implements the core functionality for a command-line based railway reservation management system with classes for different entities and file I/O to store and retrieve data
Going Loopy: Adventures in Iteration with GoEleanor McHugh
The document describes iterations and loops in Go using for loops and the range keyword. It discusses iterating over slices, using closures to iterate, and asserting types. Code examples are provided to demonstrate iterating over a slice of integers using a for loop with len() and indexing, using range to iterate, passing functions as arguments to iterate generically, and ensuring the type is correct when the argument is an interface.
This document contains C++ code and output to evaluate definite integrals using numerical integration methods like the Trapezoidal rule, Simpson's 1/3 rule, and Simpson's 3/8 rule. It includes 7 questions that provide code to integrate functions like exp(x), 1/(1+x^2), and sin(x)+cos(x) over different intervals. The code demonstrates how to implement the different numerical integration techniques to compute approximations of definite integrals and compare the results to exact solutions where available.
This document contains a complex matrix of numbers and symbols. It appears to represent scientific or technical data but lacks context to determine the specific topic. The large amount of information presented cannot be meaningfully summarized in 3 sentences or less without understanding the underlying context and purpose of the data.
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...ssuserd6b1fd
C programming language notes for beginners and Collage students. Written for beginners. Colored graphics. Function by Function explanation with complete examples. Well commented examples. Illustrations are made available for data dealing at memory level.
An introduction to secrecy and privacy in software system design with code examples in Go demonstrating secure transport techniques with https, tcp/tls and encrypted udp.
The document describes code for encrypting and decrypting network communications using AES encryption. It includes code for a TLS server and client that encrypt HTTPS traffic, a UDP server that encrypts messages sent over UDP using AES, and a corresponding UDP client that can decrypt messages from the server. The code demonstrates how to configure TLS and AES encryption in Go programs to securely transmit data over the network.
The Ring programming language version 1.8 book - Part 13 of 202Mahmoud Samir Fayed
This document describes Ring's OpenGL and debugging extensions. It includes code examples for OpenGL cube rendering and tracing function calls. The tracing functions allow setting trace callbacks to log events. A breakpoint function is shown opening an interactive debugger. Ring provides extensive OpenGL support from 1.1 to 4.6 and tracing/debugging tools help develop and debug OpenGL programs in Ring.
The Ring programming language version 1.9 book - Part 15 of 210Mahmoud Samir Fayed
This document describes Ring's OpenGL and debugging extensions. It includes code samples demonstrating how to use RingOpenGL to create and render 3D objects. It also introduces the Ring VM tracing functions and trace library, which allow tracing program execution and setting breakpoints to open an interactive debugger.
The Ring programming language version 1.10 book - Part 16 of 212Mahmoud Samir Fayed
Here are some key things to note about the new tracing functions in Ring 1.5:
- RingVM_SetTrace() allows you to specify a function name that will be called on certain tracing events. This function can then use the other tracing functions to inspect the call stack.
- RingVM_TraceData() returns an array containing information about the current trace event, like line number, file name, function name, etc.
- RingVM_TraceEvent() returns an integer code indicating the type of event, like new line, new function, return, error, etc.
- RingVM_TraceFunc() returns the name of the function currently being traced.
- RingVM_ScopesCount()
The Ring programming language version 1.5.2 book - Part 9 of 181Mahmoud Samir Fayed
Here are the key things added in Ring 1.5 for tracing functions:
- RingVM_SetTrace() allows setting a function to be called on trace events. This function will receive information about the trace.
- RingVM_TraceData() returns an array with details of the current execution context like line number, file name, function name etc.
- RingVM_TraceEvent() returns the type of trace event, like new line, new function, return etc.
- Additional functions provide the current trace function name, ability to evaluate code in a specific scope, and control error handling during tracing.
This allows implementing a tracing function to log or print details at each step of execution. The example shows
This document introduces PHP 5.4 and provides an overview of new features and changes from previous versions. Some key additions in PHP 5.4 include improved performance, always available short echo tags, closure support for $this, class member access on instantiation, and a built-in development web server. The document also discusses how to switch to PHP 5.4 on Gentoo Linux and provides useful links for more information.
This document contains configuration settings for Photodex ProShow Workspace. It lists over 100 preferences related to display, encoding, menu, and project settings for the ProShow application. The preferences include settings for the selected project file, screen dimensions, audio/video formats, menu colors/fonts, and recently opened files.
The Ring programming language version 1.6 book - Part 10 of 189Mahmoud Samir Fayed
The document describes code for a 3D graphics application using OpenGL and RingFreeGLUT. It includes functions for rendering a scene with 9 snowmen on a ground plane, handling user input for camera movement and rotation, and displaying frames per second. Keyboard, mouse, and menu callbacks are defined to control movement, rotation, and settings like polygon mode, color, and font. The main function initializes GLUT, registers the callbacks, and enters the event loop.
The Ring programming language version 1.7 book - Part 11 of 196Mahmoud Samir Fayed
The document describes an update to Ring's code generator for extensions that improves support for constant types. The update allows constants to be types other than numbers, such as strings and pointers. To use this, code can be added before and after <constant> tags to set the default constant type to C_CONSTANT_TYPE_POINTER and the pointer type to "void *". This would properly handle constants like GLUT font pointers in the RingFreeGLUT extension example provided.
This document contains two DNS client-side code snippets in C/C++. The first code connects to a DNS server, gets a domain name from the user, formats it into a proper DNS query, sends the query to the server, receives the response, and analyzes the response. The second code fragment analyzes the DNS response in more detail by extracting fields like name, type, class, and checking error codes. It prints out information about errors, failures or format issues found in the response.
This C++ program implements a binomial heap data structure. It includes functions to insert nodes, extract the minimum node, decrease a node's key, delete a node, and display the heap. The main function provides a menu for testing these binomial heap operations on a sample run of the program.
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 3 of 5 b...ssuserd6b1fd
C programming language notes for beginners and Collage students. Written for beginners. Colored graphics. Function by Function explanation with complete examples. Well commented examples. Illustrations are made available for data dealing at memory level.
03 of 03 parts
Get Part 1 from https://www.slideshare.net/ArunUmrao/notes-for-c-programming-for-bca-mca-b-sc-msc-be-amp-btech-1st-year-1
Get Part 2 from https://www.slideshare.net/ArunUmrao/notes-for-c-programming-for-bca-mca-b-sc-msc-be-amp-btech-1st-year-2
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, while a static type system prevents unintended operations. C provides constructs that map efficiently to typical machine instructions and has found lasting use in applications previously coded in assembly language. Such applications include operating systems and various application software for computers, from supercomputers to PLCs and embedded system.
This document provides an outline and overview of PHP 101. It begins with introductions and covers topics like web fundamentals, static and dynamic pages using HTML, CSS, JavaScript, and PHP. It then covers PHP fundamentals like syntax, types, arrays, constants, variables, expressions, operators, control structures and loops. It also discusses functions, predefined variables, sessions and cookies, and preventing XSS attacks. It concludes by covering PHP and MySQL integration for querying and fetching data from databases.
This document contains source code for a C++ railway reservation system with the following key features:
1. It includes classes for user login, train details, reservations, and cancellations.
2. The database() function allows an administrator to create, add, display, and manage train detail records.
3. The reserve() function allows users to search the train details and make reservations by adding records to a passenger file.
4. Other functions provide interfaces for displaying passenger details, ticket inquiries, and cancelling reservations with refund calculations.
The source code implements the core functionality for a command-line based railway reservation management system with classes for different entities and file I/O to store and retrieve data
Going Loopy: Adventures in Iteration with GoEleanor McHugh
The document describes iterations and loops in Go using for loops and the range keyword. It discusses iterating over slices, using closures to iterate, and asserting types. Code examples are provided to demonstrate iterating over a slice of integers using a for loop with len() and indexing, using range to iterate, passing functions as arguments to iterate generically, and ensuring the type is correct when the argument is an interface.
This document contains C++ code and output to evaluate definite integrals using numerical integration methods like the Trapezoidal rule, Simpson's 1/3 rule, and Simpson's 3/8 rule. It includes 7 questions that provide code to integrate functions like exp(x), 1/(1+x^2), and sin(x)+cos(x) over different intervals. The code demonstrates how to implement the different numerical integration techniques to compute approximations of definite integrals and compare the results to exact solutions where available.
This document contains a complex matrix of numbers and symbols. It appears to represent scientific or technical data but lacks context to determine the specific topic. The large amount of information presented cannot be meaningfully summarized in 3 sentences or less without understanding the underlying context and purpose of the data.
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...ssuserd6b1fd
C programming language notes for beginners and Collage students. Written for beginners. Colored graphics. Function by Function explanation with complete examples. Well commented examples. Illustrations are made available for data dealing at memory level.
An introduction to secrecy and privacy in software system design with code examples in Go demonstrating secure transport techniques with https, tcp/tls and encrypted udp.
The document describes code for encrypting and decrypting network communications using AES encryption. It includes code for a TLS server and client that encrypt HTTPS traffic, a UDP server that encrypts messages sent over UDP using AES, and a corresponding UDP client that can decrypt messages from the server. The code demonstrates how to configure TLS and AES encryption in Go programs to securely transmit data over the network.
The Ring programming language version 1.8 book - Part 13 of 202Mahmoud Samir Fayed
This document describes Ring's OpenGL and debugging extensions. It includes code examples for OpenGL cube rendering and tracing function calls. The tracing functions allow setting trace callbacks to log events. A breakpoint function is shown opening an interactive debugger. Ring provides extensive OpenGL support from 1.1 to 4.6 and tracing/debugging tools help develop and debug OpenGL programs in Ring.
The Ring programming language version 1.9 book - Part 15 of 210Mahmoud Samir Fayed
This document describes Ring's OpenGL and debugging extensions. It includes code samples demonstrating how to use RingOpenGL to create and render 3D objects. It also introduces the Ring VM tracing functions and trace library, which allow tracing program execution and setting breakpoints to open an interactive debugger.
The Ring programming language version 1.10 book - Part 16 of 212Mahmoud Samir Fayed
Here are some key things to note about the new tracing functions in Ring 1.5:
- RingVM_SetTrace() allows you to specify a function name that will be called on certain tracing events. This function can then use the other tracing functions to inspect the call stack.
- RingVM_TraceData() returns an array containing information about the current trace event, like line number, file name, function name, etc.
- RingVM_TraceEvent() returns an integer code indicating the type of event, like new line, new function, return, error, etc.
- RingVM_TraceFunc() returns the name of the function currently being traced.
- RingVM_ScopesCount()
The Ring programming language version 1.5.2 book - Part 9 of 181Mahmoud Samir Fayed
Here are the key things added in Ring 1.5 for tracing functions:
- RingVM_SetTrace() allows setting a function to be called on trace events. This function will receive information about the trace.
- RingVM_TraceData() returns an array with details of the current execution context like line number, file name, function name etc.
- RingVM_TraceEvent() returns the type of trace event, like new line, new function, return etc.
- Additional functions provide the current trace function name, ability to evaluate code in a specific scope, and control error handling during tracing.
This allows implementing a tracing function to log or print details at each step of execution. The example shows
The Ring programming language version 1.7 book - Part 193 of 196Mahmoud Samir Fayed
The document provides documentation for functions in the Ring graphics library (RingOpenGL). It lists over 50 functions organized alphabetically including brief descriptions. Some example functions listed are gluBeginCurve(), gluBeginPolygon(), gluBeginSurface(), gluCylinder(), gluDeleteNurbsRenderer(), gluDeleteQuadric(), gluDisk(), gluEndCurve(), gluLookAt(), gluNewNurbsRenderer(), gluNurbsCurve(), gluSphere(), and glDisable(). It also provides links to Ring language documentation and contact information for the Ring authors.
The Ring programming language version 1.5.3 book - Part 8 of 184Mahmoud Samir Fayed
This document section describes updates made to the Ring programming language in version 1.5, including:
- New classes added to the RingQt library for improved Qt integration.
- An example of using the RingQt and libcurl libraries to submit a vehicle VIN to a website and parse the XML results.
- The Objects library was updated with a new Open_WindowInPackages() function to import packages before opening windows.
- A new RingFreeGLUT extension was added to support the FreeGLUT library, along with an example OpenGL/FreeGLUT program to render a scene with snowmen.
The Ring programming language version 1.5.4 book - Part 8 of 185Mahmoud Samir Fayed
This document section describes new classes and functionality added to the RingQt library in version 1.5.4, including classes for strings, mutexes, buffers, Bluetooth, and sockets. It also provides examples of using these new RingQt classes to submit a vehicle's VIN to a web service and parse the XML response.
The Ring programming language version 1.5.1 book - Part 7 of 180Mahmoud Samir Fayed
This document describes updates made in version 1.5.1 of the Ring programming language documentation, including:
- New classes added to the RingQt library for working with strings, mutexes, buffers, Bluetooth, and sockets.
- An example of using the RingQt and libcurl libraries to submit a vehicle identification number to a website and parse the XML response.
- Updates to the Objects library including a new function for opening windows that allows specifying import packages.
- A new RingFreeGLUT extension for supporting the FreeGLUT library, along with an example OpenGL/FreeGLUT program for drawing and animating a scene with snowmen.
The Ring programming language version 1.6 book - Part 85 of 189Mahmoud Samir Fayed
The document provides an overview of using a code generator to wrap C/C++ libraries to make them accessible from Ring. It describes various configuration options for the code generator including: defining functions and structures, adding code, determining types, and more. A large portion of the document focuses on the configuration file used to wrap the Qt framework, generating over 56,000 lines of C++ code and 9,000 lines of Ring code.
The Ring programming language version 1.5.2 book - Part 180 of 181Mahmoud Samir Fayed
This document contains references for classes in the RingQt library. It lists over 100 classes, including common Qt classes like QWidget, QSlider, QSpinBox as well as Ring-specific classes like RingCodeHighlighter. For each class, it provides the class name and page number in the RingQt Classes Reference. The document also includes sections about Ring extensions for OpenGL, SDL, Allegro and more.
The Ring programming language version 1.5.2 book - Part 57 of 181Mahmoud Samir Fayed
Here are the key things this example demonstrates:
1. Using a vertical box layout (qVBoxLayout) to automatically position widgets vertically within the window.
2. Calling addWidget() on the layout to add each widget (label, line edit, buttons).
3. Setting the layout on the main window using setLayout(), so the widgets are arranged by the layout.
4. The widgets are now positioned vertically without needing to specify geometry for each one. The layout handles their positioning.
5. The overall look and feel is cleaner than hardcoding widget positions. Layouts allow the UI to adapt to different window sizes.
So in summary, this shows how to:
- Use a layout to
The Ring programming language version 1.10 book - Part 208 of 212Mahmoud Samir Fayed
This document provides a summary of functions in the Ring documentation for Release 1.10. It lists functions for drawing quadrics, normals, orientation, and textures. It also lists functions for scaling images, drawing spheres, starting and ending contours and polygons for tessellation, setting tessellation normals and properties, adding tessellation vertices, and unprojecting coordinates. The document also provides resources for the Ring language like the website, source code repository, contact information, and lists Arabic language resources.
The Ring programming language version 1.8 book - Part 64 of 202Mahmoud Samir Fayed
Here are the key steps to create a textured 3D cube in Ring using RingOpenGL and RingAllegro:
1. Load the necessary libraries - gamelib.ring for RingAllegro and opengl21lib.ring for RingOpenGL.
2. Define variables to store the texture bitmap, rotation angles etc.
3. Implement loadResources() method to load the texture bitmap from a file. Get the OpenGL texture from the bitmap using al_get_opengl_texture().
4. Implement drawScene() method:
- Set up the projection matrix
- Clear color and depth buffers
- Enable textures, lighting, depth test etc.
- Bind the texture
- Draw the
The Ring programming language version 1.5.1 book - Part 84 of 180Mahmoud Samir Fayed
This document lists functions from the Ring and RingFreeGLUT libraries. It provides over 150 functions for initializing OpenGL contexts, creating windows, handling input/events, drawing graphics, and more. The functions allow creating and managing OpenGL rendering windows, registering callbacks, handling user input events, and other core tasks for building OpenGL applications.
The Ring programming language version 1.9 book - Part 14 of 210Mahmoud Samir Fayed
This document describes an example Ring program that uses the RingFreeGLUT extension to render a 3D snowman scene. It loads the freeglut and OpenGL libraries, defines variables for the camera position and rotation, and functions for drawing the snowman, text, and scene. It sets up callbacks for rendering, window resizing, and user input handling. Popup menus are created for changing rendering options. The main function initializes GLUT and sets the callbacks to start the rendering loop.
The Ring programming language version 1.10 book - Part 134 of 212Mahmoud Samir Fayed
The document contains references to functions in the RingFreeGLUT library for OpenGL graphics programming. It lists constants and functions for window handling, display callbacks, input handling, basic shapes, menus, colors, and more. The functions provide an interface for creating windows, registering callbacks, handling input events, and drawing 3D objects.
The Ring programming language version 1.5.1 book - Part 56 of 180Mahmoud Samir Fayed
This document shows how to create a simple GUI application in Ring using Qt that displays a label asking for a user's name, a text box to enter the name, and buttons to say hello by prefixing the name with "Hello " and to close the application; it initializes the Qt application object, creates a window with the widgets, sets click events for the buttons, and enters the Qt event loop.
The Ring programming language version 1.7 book - Part 119 of 196Mahmoud Samir Fayed
The document contains references to functions in the RingFreeGLUT library, which is a library for OpenGL windowing and input handling. It lists over 150 functions related to window creation and management, display callback registration, input handling, basic shapes drawing, and other GLUT functionality.
The Ring programming language version 1.8 book - Part 201 of 202Mahmoud Samir Fayed
The document provides reference information for various classes in the RingQt library. It includes classes for GUI components like QPushButton, QLabel, QCheckBox, widgets like QTextEdit, QListView, and core classes like QObject, QEvent, QFile. Each class entry includes a link to its documentation in the RingQt Classes Reference. The document also lists extensions to Ring like RingLibCurl, RingLibSDL and RingOpenGL with links to their respective functions references.
The Ring programming language version 1.8 book - Part 12 of 202Mahmoud Samir Fayed
This document provides an example of using the RingFreeGLUT extension in Ring to interface with the FreeGLUT library. It includes code to:
1. Initialize FreeGLUT and create an OpenGL window.
2. Define callbacks for rendering, window resizing, and keyboard/mouse input.
3. Render a 3D scene with 9 snowmen using OpenGL, including drawing spheres, cones, text with bitmap fonts, and handling camera movement.
4. Create popup menus for options like polygon rendering mode, font selection, and object colors.
So in summary, it shows how to set up a basic 3D application with RingFreeGLUT to display a winter scene with snowmen
The Ring programming language version 1.10 book - Part 212 of 212Mahmoud Samir Fayed
This document summarizes new features and changes in different versions of the Ring programming language and library. It discusses various topics including using different syntax styles and code editors, developing graphical desktop and mobile applications using RingQt, and using Ring for 3D graphics and games development. The document also provides overviews of the core Ring libraries and language features.
The Ring programming language version 1.10 book - Part 211 of 212Mahmoud Samir Fayed
This document provides documentation for the Ring programming language and various Ring extensions and libraries. It includes sections on Ring mode for Emacs editor, the Ring Notepad IDE, the Ring Package Manager (RingPM), embedding Ring code in C/C++ programs, and references for the functions and classes of various Ring extensions for areas like 2D/3D graphics, networking, multimedia and more.
The Ring programming language version 1.10 book - Part 210 of 212Mahmoud Samir Fayed
This document contains summaries of various Ring classes, functions and concepts:
- It describes Ring classes like the Map, Math, MySQL, and PostgreSQL classes.
- It lists and briefly explains Ring standard library functions such as map(), random(), newlist(), and print().
- It covers Ring concepts and features like object oriented programming, operators, files and I/O, GUI programming, and web development.
The Ring programming language version 1.10 book - Part 207 of 212Mahmoud Samir Fayed
This document contains listings of over 100 OpenGL functions related to lighting, materials, textures, and rendering. The functions listed specify parameters for lights, materials, texture coordinates, and rendering operations like clearing buffers and drawing primitives.
The Ring programming language version 1.10 book - Part 205 of 212Mahmoud Samir Fayed
This document lists numerous OpenGL constants and enumerations related to textures, blending, shaders, buffers, and other graphics features. It includes constants for texture types and formats, shader variable types, buffer bindings and usages, and more. The listing contains over 200 individual constants and enumerations without descriptions.
The Ring programming language version 1.10 book - Part 206 of 212Mahmoud Samir Fayed
The document lists OpenGL functions and constants added in version 1.10 of the OpenGL specification. It includes over 100 functions and constants for features such as unsigned integer textures, texture buffers, geometry shaders, transform feedback, and more robust context handling.
The Ring programming language version 1.10 book - Part 203 of 212Mahmoud Samir Fayed
The document contains a list of functions and constants related to OpenGL graphics functionality. It includes functions for vertex specification, texture mapping, tessellation, nurbs modeling, quadric surfaces, and more. It also includes constants for OpenGL states, modes, and error codes.
The Ring programming language version 1.10 book - Part 202 of 212Mahmoud Samir Fayed
The document lists over 100 OpenGL functions for querying and retrieving information about OpenGL objects, state, and errors. Some of the functions listed include glGetError() to retrieve OpenGL error codes, glGetUniformLocation() to retrieve the location of a uniform variable in a program, and glGetString() to retrieve version and extension information.
The Ring programming language version 1.10 book - Part 201 of 212Mahmoud Samir Fayed
The document lists various OpenGL constants and functions related to OpenGL graphics functionality. It includes constants for texture and color formats, clipping planes, buffer objects, shader operations, and more. It also lists over 100 OpenGL function declarations for operations like drawing, clearing, texture handling, blending, and shader manipulation.
The Ring programming language version 1.10 book - Part 200 of 212Mahmoud Samir Fayed
This document lists numerous OpenGL constants related to graphics hardware capabilities, state variables, and functions. It includes constants for vertex arrays, texture mapping, blending, multisampling, shader types, and more. The constants are used to query and set the state and capabilities of the OpenGL graphics processing context.
The Ring programming language version 1.10 book - Part 199 of 212Mahmoud Samir Fayed
The document lists over 200 OpenGL constants related to graphics rendering features such as fog, depth testing, blending, textures, and more. It provides the names of constants for configuring various graphics pipeline states and settings in OpenGL.
The Ring programming language version 1.10 book - Part 198 of 212Mahmoud Samir Fayed
The document contains listings of over 100 OpenGL and GLU function declarations related to texture coordinates, uniforms, vertex specification, and tessellation. It provides the function name, return type if any, and parameters for each function for specifying texture coordinates, uniforms, vertices and performing tessellation in OpenGL and GLU.
The Ring programming language version 1.10 book - Part 197 of 212Mahmoud Samir Fayed
The document contains documentation for over 100 OpenGL functions related to rendering, textures, shaders, and more. It lists each function name and its parameters. The functions allow specifying colors, textures, shader programs, and various rendering states and operations in OpenGL.
The Ring programming language version 1.10 book - Part 196 of 212Mahmoud Samir Fayed
This document lists OpenGL constants and functions related to graphics rendering. It includes constants for buffer types, shader data types, texture types, and more. It also lists function prototypes for common OpenGL operations like drawing, clearing, binding textures and buffers, and setting shader uniforms.
The Ring programming language version 1.10 book - Part 195 of 212Mahmoud Samir Fayed
The document lists over 200 OpenGL constants related to textures, vertex arrays, blending, and buffer objects. It provides reference documentation for OpenGL version 1.10 including constants for texture formats and parameters, vertex attribute types, blending functions, and buffer usage flags.
The Ring programming language version 1.10 book - Part 194 of 212Mahmoud Samir Fayed
The document lists various constants used in OpenGL such as GL_FOG_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM, and others related to OpenGL rendering, blending, textures, lighting, and more. It provides definitions for OpenGL enums and related values.
The Ring programming language version 1.10 book - Part 193 of 212Mahmoud Samir Fayed
This document lists over 100 OpenGL functions for specifying textures, lighting, shaders, and other graphics operations. The functions include glMultiTexCoord2iv() for specifying texture coordinates, glNormal3f() for specifying normals, and glUniform1f() for specifying shader uniforms.
The Ring programming language version 1.10 book - Part 192 of 212Mahmoud Samir Fayed
This document lists OpenGL functions and constants that were added or changed in OpenGL version 1.10. It includes over 150 new OpenGL constants for features such as geometry shaders, transform feedback, cube map arrays, and more. It also lists over 80 OpenGL functions, providing their parameters and types.
The Ring programming language version 1.10 book - Part 191 of 212Mahmoud Samir Fayed
This document lists numerous OpenGL constants related to textures, blending, shaders, buffers, and other graphics features. It includes constants for texture types, shader data types, buffer bindings, and more. The constants are for OpenGL version 1.10.
UiPath Community Zurich: Release Management and Build PipelinesUiPathCommunity
Ensuring robust, reliable, and repeatable delivery processes is more critical than ever - it's a success factor for your automations and for automation programmes as a whole. In this session, we’ll dive into modern best practices for release management and explore how tools like the UiPathCLI can streamline your CI/CD pipelines. Whether you’re just starting with automation or scaling enterprise-grade deployments, our event promises to deliver helpful insights to you. This topic is relevant for both on-premise and cloud users - as well as for automation developers and software testers alike.
📕 Agenda:
- Best Practices for Release Management
- What it is and why it matters
- UiPath Build Pipelines Deep Dive
- Exploring CI/CD workflows, the UiPathCLI and showcasing scenarios for both on-premise and cloud
- Discussion, Q&A
👨🏫 Speakers
Roman Tobler, CEO@ Routinuum
Johans Brink, CTO@ MvR Digital Workforce
We look forward to bringing best practices and showcasing build pipelines to you - and to having interesting discussions on this important topic!
If you have any questions or inputs prior to the event, don't hesitate to reach out to us.
This event streamed live on May 27, 16:00 pm CET.
Check out all our upcoming UiPath Community sessions at:
👉 https://community.uipath.com/events/
Join UiPath Community Zurich chapter:
👉 https://community.uipath.com/zurich/
Cyber Security Legal Framework in Nepal.pptxGhimire B.R.
The presentation is about the review of existing legal framework on Cyber Security in Nepal. The strength and weakness highlights of the major acts and policies so far. Further it highlights the needs of data protection act .
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Lorenzo Miniero
Slides for my "Multistream support in the Janus SIP and NoSIP plugins" presentation at the OpenSIPS Summit 2025 event.
They describe my efforts refactoring the Janus SIP and NoSIP plugins to allow for the gatewaying of an arbitrary number of audio/video streams per call (thus breaking the current 1-audio/1-video limitation), plus some additional considerations on what this could mean when dealing with application protocols negotiated via SIP as well.
Contributing to WordPress With & Without Code.pptxPatrick Lumumba
Contributing to WordPress: Making an Impact on the Test Team—With or Without Coding Skills
WordPress survives on collaboration, and the Test Team plays a very important role in ensuring the CMS is stable, user-friendly, and accessible to everyone.
This talk aims to deconstruct the myth that one has to be a developer to contribute to WordPress. In this session, I will share with the audience how to get involved with the WordPress Team, whether a coder or not.
We’ll explore practical ways to contribute, from testing new features, and patches, to reporting bugs. By the end of this talk, the audience will have the tools and confidence to make a meaningful impact on WordPress—no matter the skill set.
Offshore IT Support: Balancing In-House and Offshore Help Desk Techniciansjohn823664
In today's always-on digital environment, businesses must deliver seamless IT support across time zones, devices, and departments. This SlideShare explores how companies can strategically combine in-house expertise with offshore talent to build a high-performing, cost-efficient help desk operation.
From the benefits and challenges of offshore support to practical models for integrating global teams, this presentation offers insights, real-world examples, and key metrics for success. Whether you're scaling a startup or optimizing enterprise support, discover how to balance cost, quality, and responsiveness with a hybrid IT support strategy.
Perfect for IT managers, operations leads, and business owners considering global help desk solutions.
Content and eLearning Standards: Finding the Best Fit for Your-TrainingRustici Software
Tammy Rutherford, Managing Director of Rustici Software, walks through the pros and cons of different standards to better understand which standard is best for your content and chosen technologies.
cloudgenesis cloud workshop , gdg on campus mitasiyaldhande02
Step into the future of cloud computing with CloudGenesis, a power-packed workshop curated by GDG on Campus MITA, designed to equip students and aspiring cloud professionals with hands-on experience in Google Cloud Platform (GCP), Microsoft Azure, and Azure Al services.
This workshop offers a rare opportunity to explore real-world multi-cloud strategies, dive deep into cloud deployment practices, and harness the potential of Al-powered cloud solutions. Through guided labs and live demonstrations, participants will gain valuable exposure to both platforms- enabling them to think beyond silos and embrace a cross-cloud approach to
development and innovation.
Adtran’s SDG 9000 Series brings high-performance, cloud-managed Wi-Fi 7 to homes, businesses and public spaces. Built on a unified SmartOS platform, the portfolio includes outdoor access points, ceiling-mount APs and a 10G PoE router. Intellifi and Mosaic One simplify deployment, deliver AI-driven insights and unlock powerful new revenue streams for service providers.
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...James Anderson
The Quantum Apocalypse: A Looming Threat & The Need for Post-Quantum Encryption
We explore the imminent risks posed by quantum computing to modern encryption standards and the urgent need for post-quantum cryptography (PQC).
Bio: With 30 years in cybersecurity, including as a CISO, Tommy is a strategic leader driving security transformation, risk management, and program maturity. He has led high-performing teams, shaped industry policies, and advised organizations on complex cyber, compliance, and data protection challenges.
European Accessibility Act & Integrated Accessibility TestingJulia Undeutsch
Emma Dawson will guide you through two important topics in this session.
Firstly, she will prepare you for the European Accessibility Act (EAA), which comes into effect on 28 June 2025, and show you how development teams can prepare for it.
In the second part of the webinar, Emma Dawson will explore with you various integrated testing methods and tools that will help you improve accessibility during the development cycle, such as Linters, Storybook, Playwright, just to name a few.
Focus: European Accessibility Act, Integrated Testing tools and methods (e.g. Linters, Storybook, Playwright)
Target audience: Everyone, Developers, Testers
Fully Open-Source Private Clouds: Freedom, Security, and ControlShapeBlue
In this presentation, Swen Brüseke introduced proIO's strategy for 100% open-source driven private clouds. proIO leverage the proven technologies of CloudStack and LINBIT, complemented by professional maintenance contracts, to provide you with a secure, flexible, and high-performance IT infrastructure. He highlighted the advantages of private clouds compared to public cloud offerings and explain why CloudStack is in many cases a superior solution to Proxmox.
--
The CloudStack European User Group 2025 took place on May 8th in Vienna, Austria. The event once again brought together open-source cloud professionals, contributors, developers, and users for a day of deep technical insights, knowledge sharing, and community connection.
Introducing the OSA 3200 SP and OSA 3250 ePRCAdtran
Adtran's latest Oscilloquartz solutions make optical pumping cesium timing more accessible than ever. Discover how the new OSA 3200 SP and OSA 3250 ePRC deliver superior stability, simplified deployment and lower total cost of ownership. Built on a shared platform and engineered for scalable, future-ready networks, these models are ideal for telecom, defense, metrology and more.
AI Emotional Actors: “When Machines Learn to Feel and Perform"AkashKumar809858
Welcome to the era of AI Emotional Actors.
The entertainment landscape is undergoing a seismic transformation. What started as motion capture and CGI enhancements has evolved into a full-blown revolution: synthetic beings not only perform but express, emote, and adapt in real time.
For reading further follow this link -
https://akash97.gumroad.com/l/meioex
Adtran’s new Ensemble Cloudlet vRouter solution gives service providers a smarter way to replace aging edge routers. With virtual routing, cloud-hosted management and optional design services, the platform makes it easy to deliver high-performance Layer 3 services at lower cost. Discover how this turnkey, subscription-based solution accelerates deployment, supports hosted VNFs and helps boost enterprise ARPU.
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPathCommunity
Join the UiPath Community Berlin (Virtual) meetup on May 27 to discover handy Studio Tips & Tricks and get introduced to UiPath Insights. Learn how to boost your development workflow, improve efficiency, and gain visibility into your automation performance.
📕 Agenda:
- Welcome & Introductions
- UiPath Studio Tips & Tricks for Efficient Development
- Best Practices for Workflow Design
- Introduction to UiPath Insights
- Creating Dashboards & Tracking KPIs (Demo)
- Q&A and Open Discussion
Perfect for developers, analysts, and automation enthusiasts!
This session streamed live on May 27, 18:00 CET.
Check out all our upcoming UiPath Community sessions at:
👉 https://community.uipath.com/events/
Join our UiPath Community Berlin chapter:
👉 https://community.uipath.com/berlin/
System Card: Claude Opus 4 & Claude Sonnet 4Razin Mustafiz
The Ring programming language version 1.5.3 book - Part 9 of 184
1. Ring Documentation, Release 1.5.3
fontMenu = glutCreateMenu(:processFontMenu)
glutAddMenuEntry("BITMAP_8_BY_13 ",C_INT_GLUT_BITMAP_8_BY_13 )
glutAddMenuEntry("BITMAP_9_BY_15",C_INT_GLUT_BITMAP_9_BY_15 )
glutAddMenuEntry("BITMAP_TIMES_ROMAN_10 ",C_INT_GLUT_BITMAP_TIMES_ROMAN_10 )
glutAddMenuEntry("BITMAP_TIMES_ROMAN_24",C_INT_GLUT_BITMAP_TIMES_ROMAN_24 )
glutAddMenuEntry("BITMAP_HELVETICA_10 ",C_INT_GLUT_BITMAP_HELVETICA_10 )
glutAddMenuEntry("BITMAP_HELVETICA_12",C_INT_GLUT_BITMAP_HELVETICA_12 )
glutAddMenuEntry("BITMAP_HELVETICA_18",C_INT_GLUT_BITMAP_HELVETICA_18 )
fillMenu = glutCreateMenu(:processFillMenu)
glutAddMenuEntry("Fill",C_FILL)
glutAddMenuEntry("Line",C_LINE)
colorMenu = glutCreateMenu(:processColorMenu)
glutAddMenuEntry("Red",C_RED);
glutAddMenuEntry("Blue",C_BLUE);
glutAddMenuEntry("Green",C_GREEN);
glutAddMenuEntry("Orange",C_ORANGE);
mainMenu = glutCreateMenu(:processMainMenu)
glutAddSubMenu("Polygon Mode", fillMenu)
glutAddSubMenu("Color", colorMenu)
glutAddSubMenu("Font",fontMenu)
// attach the menu to the right button
glutAttachMenu(GLUT_RIGHT_BUTTON)
// this will allow us to know if the menu is active
glutMenuStatusFunc(:processMenuStatus)
// -----------------------------------
// MAIN
// -----------------------------------
func main
// init GLUT and create window
glutInit()
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA)
glutInitWindowPosition(100,100)
glutInitWindowSize(320,320)
glutCreateWindow("RingFreeGLUT - Test - 9 SnowMan")
// register callbacks
glutDisplayFunc(:renderScene)
glutReshapeFunc(:changeSize)
glutIdleFunc(:renderScene)
glutIgnoreKeyRepeat(1)
glutKeyboardFunc(:processNormalKeys)
glutSpecialFunc(:pressKey)
glutSpecialUpFunc(:releaseKey)
// here are the two new functions
glutMouseFunc(:mouseButton)
4.10. RingFreeGLUT Extension 55
3. Ring Documentation, Release 1.5.3
4.11 RingOpenGL Extension
Ring 1.5 comes with RingOpenGL and support for the next versions
• OpenGL 1.1
• OpenGL 1.2
• OpenGL 1.3
• OpenGL 1.4
• OpenGL 1.5
• OpenGL 2.0
• OpenGL 2.1
• OpenGL 3.0
• OpenGL 3.2
• OpenGL 3.3
• OpenGL 4.0
• OpenGL 4.1
• OpenGL 4.2
• OpenGL 4.3
• OpenGL 4.4
• OpenGL 4.5
• OpenGL 4.6
Example:
/*
This sample is based on C Tutorials
from :
http://www.wikihow.com/Make-a-Cube-in-OpenGL
*/
load "freeglut.ring"
load "opengl21lib.ring"
// ----------------------------------------------------------
// Global Variables
// ----------------------------------------------------------
rotate_y=0
rotate_x=0
// ----------------------------------------------------------
// display() Callback function
// ----------------------------------------------------------
func display
// Clear screen and Z-buffer
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
// Reset transformations
4.11. RingOpenGL Extension 57
4. Ring Documentation, Release 1.5.3
glLoadIdentity()
// Rotate when user changes rotate_x and rotate_y
glRotatef( rotate_x, 1.0, 0.0, 0.0 )
glRotatef( rotate_y, 0.0, 1.0, 0.0 )
//Multi-colored side - FRONT
glBegin(GL_POLYGON)
glColor3f( 1.0, 0.0, 0.0 ) glVertex3f( 0.5, -0.5, -0.5 ) # P1 is red
glColor3f( 0.0, 1.0, 0.0 ) glVertex3f( 0.5, 0.5, -0.5 ) # P2 is green
glColor3f( 0.0, 0.0, 1.0 ) glVertex3f( -0.5, 0.5, -0.5 ) # P3 is blue
glColor3f( 1.0, 0.0, 1.0 ) glVertex3f( -0.5, -0.5, -0.5 ) # P4 is purple
glEnd()
// White side - BACK
glBegin(GL_POLYGON)
glColor3f( 1.0, 1.0, 1.0 )
glVertex3f( 0.5, -0.5, 0.5 )
glVertex3f( 0.5, 0.5, 0.5 )
glVertex3f( -0.5, 0.5, 0.5 )
glVertex3f( -0.5, -0.5, 0.5 )
glEnd()
// Purple side - RIGHT
glBegin(GL_POLYGON)
glColor3f( 1.0, 0.0, 1.0 )
glVertex3f( 0.5, -0.5, -0.5 )
glVertex3f( 0.5, 0.5, -0.5 )
glVertex3f( 0.5, 0.5, 0.5 )
glVertex3f( 0.5, -0.5, 0.5 )
glEnd()
// Green side - LEFT
glBegin(GL_POLYGON)
glColor3f( 0.0, 1.0, 0.0 )
glVertex3f( -0.5, -0.5, 0.5 )
glVertex3f( -0.5, 0.5, 0.5 )
glVertex3f( -0.5, 0.5, -0.5 )
glVertex3f( -0.5, -0.5, -0.5 )
glEnd()
// Blue side - TOP
glBegin(GL_POLYGON)
glColor3f( 0.0, 0.0, 1.0 )
glVertex3f( 0.5, 0.5, 0.5 )
glVertex3f( 0.5, 0.5, -0.5 )
glVertex3f( -0.5, 0.5, -0.5 )
glVertex3f( -0.5, 0.5, 0.5 )
glEnd()
// Red side - BOTTOM
glBegin(GL_POLYGON)
glColor3f( 1.0, 0.0, 0.0 )
glVertex3f( 0.5, -0.5, -0.5 )
glVertex3f( 0.5, -0.5, 0.5 )
glVertex3f( -0.5, -0.5, 0.5 )
4.11. RingOpenGL Extension 58
5. Ring Documentation, Release 1.5.3
glVertex3f( -0.5, -0.5, -0.5 )
glEnd()
glFlush()
glutSwapBuffers()
// ----------------------------------------------------------
// specialKeys() Callback Function
// ----------------------------------------------------------
func specialKeys
key = glutEventKey()
// Right arrow - increase rotation by 5 degree
switch Key
on GLUT_KEY_RIGHT
rotate_y += 5
// Left arrow - decrease rotation by 5 degree
on GLUT_KEY_LEFT
rotate_y -= 5
on GLUT_KEY_UP
rotate_x += 5
on GLUT_KEY_DOWN
rotate_x -= 5
off
// Request display update
glutPostRedisplay()
// ----------------------------------------------------------
// main() function
// ----------------------------------------------------------
func main
// Initialize GLUT and process user parameters
glutInit()
// Request double buffered true color window with Z-buffer
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH)
// Create window
glutCreateWindow("Awesome Cube")
// Enable Z-buffer depth test
glEnable(GL_DEPTH_TEST)
// Callback functions
glutDisplayFunc(:display)
glutSpecialFunc(:specialKeys)
4.11. RingOpenGL Extension 59
6. Ring Documentation, Release 1.5.3
// Pass control to GLUT for events
glutMainLoop()
// Return to OS
Screen Shot:
4.12 Better Code Generator for Extensions
The Code Generator is updated to support <constant> type, So we can have constants other than numbers, for example
: Strings and Pointers.
When we have pointers we can determine the pointer type. To use this feature, before <constant> and </constant> we
can use
$nDefaultConstantType = C_CONSTANT_TYPE_POINTER
$cDefaultConstantPointerType = "void *"
The next example from the RingFreeGLUT extension
<runcode>
$nDefaultConstantType = C_CONSTANT_TYPE_POINTER
$cDefaultConstantPointerType = "void"
</runcode>
<constant>
GLUT_STROKE_ROMAN
GLUT_STROKE_MONO_ROMAN
GLUT_BITMAP_9_BY_15
GLUT_BITMAP_8_BY_13
GLUT_BITMAP_TIMES_ROMAN_10
GLUT_BITMAP_TIMES_ROMAN_24
GLUT_BITMAP_HELVETICA_10
GLUT_BITMAP_HELVETICA_12
4.12. Better Code Generator for Extensions 60
7. Ring Documentation, Release 1.5.3
GLUT_BITMAP_HELVETICA_18
</constant>
4.13 Better Documentation Generator for Extensions
The documentation generator for extensions is updated to generate a list of constants in the generated documentation
The previous versions provides the functions prototype only, Now we have the list of constants too.
4.14 Ring VM - Tracing Functions
In Ring 1.5 the next functions are added to Ring VM
• RingVM_SetTrace(cCode)
• RingVM_TraceData() –> aDataList
• RingVM_TraceEvent() –> nTraceEvent
• RingVM_TraceFunc() –> cCode
• RingVM_ScopesCount() –> nScopes
• RingVM_EvalInScope(nScope,cCode)
• RingVM_PassError()
• RingVM_HideErrorMsg(lStatus)
• RingVM_CallFunc(cFuncName)
Example:
load "tracelib.ring"
ringvm_settrace("mytrace()")
see "Hello, world!" + nl
see "Welcome" + nl
see "How are you?" +nl
mytest()
new myclass { mymethod() }
func mytest
see "Message from mytest" + nl
func mytrace
see "====== The Trace function is Active ======" + nl +
"Trace Function Name : " + ringvm_TraceFunc() + nl +
"Trace Event : "
switch ringvm_TraceEvent()
on TRACEEVENT_NEWLINE see "New Line"
on TRACEEVENT_NEWFUNC see "New Function"
on TRACEEVENT_RETURN see "Return"
on TRACEEVENT_ERROR see "Error"
on TRACEEVENT_BEFORECFUNC see "Before C Function"
on TRACEEVENT_AFTERCFUNC see "After C Function"
off
4.13. Better Documentation Generator for Extensions 61
8. Ring Documentation, Release 1.5.3
see nl +
"Line Number : " + ringvm_tracedata()[TRACEDATA_LINENUMBER] + nl +
"File Name : " + ringvm_tracedata()[TRACEDATA_FILENAME] + nl +
"Function Name : " + ringvm_tracedata()[TRACEDATA_FUNCNAME] + nl +
"Method or Function : "
if ringvm_tracedata()[TRACEDATA_METHODORFUNC] =
TRACEDATA_METHODORFUNC_METHOD
see "Method"
else
if ringvm_tracedata()[TRACEDATA_FUNCNAME] = NULL
see "Command"
else
see "Function"
ok
ok
see nl + Copy("=",42) + nl
class myclass
func mymethod
see "Message from mymethod" + nl
Output:
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : After C Function
Line Number : 3
File Name : test1.ring
Function Name : ringvm_settrace
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 5
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
Hello, world!
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 6
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
Welcome
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 7
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
How are you?
4.14. Ring VM - Tracing Functions 62
9. Ring Documentation, Release 1.5.3
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 8
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Function
Line Number : 8
File Name : test1.ring
Function Name : mytest
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 12
File Name : test1.ring
Function Name : mytest
Method or Function : Function
==========================================
Message from mytest
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 14
File Name : test1.ring
Function Name : mytest
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : Return
Line Number : 8
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 9
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 43
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
====== The Trace function is Active ======
4.14. Ring VM - Tracing Functions 63
10. Ring Documentation, Release 1.5.3
Trace Function Name : mytrace()
Trace Event : Before C Function
Line Number : 9
File Name : test1.ring
Function Name : ismethod
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : After C Function
Line Number : 9
File Name : test1.ring
Function Name : ismethod
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Function
Line Number : 9
File Name : test1.ring
Function Name : mymethod
Method or Function : Method
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : New Line
Line Number : 44
File Name : test1.ring
Function Name : mymethod
Method or Function : Method
==========================================
Message from mymethod
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : Return
Line Number : 9
File Name : test1.ring
Function Name :
Method or Function : Command
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : Before C Function
Line Number : 9
File Name : test1.ring
Function Name : ismethod
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
Trace Event : After C Function
Line Number : 9
File Name : test1.ring
Function Name : ismethod
Method or Function : Function
==========================================
====== The Trace function is Active ======
Trace Function Name : mytrace()
4.14. Ring VM - Tracing Functions 64