News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Recent posts

#81
Game Development / An Anti-Alised Thick Line: The...
Last post by HSE - October 06, 2024, 05:13:18 AM
Hi al!!

To solve some problems of some thick lines (like Thick Anti-Aliased Lines of arbitrary width) a different approach is requiered.

This line use 2 times Bresenham algorithm: one for the line itself and other to calculate extreme lines, wich are prependicular to the main line.

The width from this process is the true intended width, not cuts width.



Like previously discussed, another problem is to connect lines. For that an additional element is used.



The drawing above is only to explain the process, because all happen in a buffer screen and you just can see the result.



Lines can be flat antialiased or pipe (3D). This last is antialiased implicitly.

Still work in progress  :thumbsup:

Note: Source code only for REAL MEN[tm]  :biggrin:

Regards, HSE

Note 2: binary is 32 bits


#82
Examples / Re: 64 bit examples for beginn...
Last post by zedd151 - October 06, 2024, 05:07:16 AM
Speaking of "simple conversions from 32 -> 64 bit", I am working on a converter that will (in theory, anyway) convert simple 32 bit programs to 64 bit. I had done this a few years ago, but that source has been discarded since there were a few fatal flaws in that rendition. So, I am proceeding to write a new converter. This should be a great help to my endeavor to make a few more 64 bit examples.   :smiley:  Quicker than writing them from scratch, and there are a ton of such examples in 32 bit already - ripe for conversion. :wink2:

I will be creating a new topic for it, when it is nearly completed.  :biggrin:
#83
Windows API / Re: MRU help
Last post by ognil - October 06, 2024, 01:58:13 AM
Thank you sinsi, :thumbsup:

Biterider's example has no MRU and use only  Basic Controls - Buttons.
It uses IUICommandHandler interface -> Execute method
to send a SendMessage for each pressed button.

I use more:
- Basic Controls - Buttons
- Container Controls
- Specialized Controls - Font Control
QuoteRibbon framework provides a specialized Font Control that exposes a wide range of font properties such as typeface name, style, point size, and effects.
The Font Control is a composite control that consists of buttons, toggle buttons, drop-down list boxes, and combo boxes, all of which are used to specify a particular font property or formatting option.

https://learn.microsoft.com/en-us/windows/win32/windowsribbon/windowsribbon-introduction
https://learn.microsoft.com/en-us/windows/win32/uxguide/cmd-ribbons  :smiley:

PS:
The Font control sends
WM_NOTIFY -> EN_SELCHANGE to the main window when some of its attributes change.
The main window returns confirmation back to the Font control.
It clears the Rich Edit control, including the standard Line numbers
and overwrites it with the already modified CharFormat2 structure, but without the Line numbers.
Тhis necessitated the inclusion of a second Rich Edit control (synchronized with the first) just for the Line numbers.
#84
ObjAsm / ObjAsm - Deep Dive Podcast 🎙️
Last post by fearless - October 06, 2024, 01:09:44 AM
I fed Biterider's ObjAsm gitbook into NotebookLM to create a Deep Dive Podcast. This is the summary it created:


QuoteSummary
This documentation provides a guide to ObjAsm, an x86/x64 assembly language for creating bitness-neutral code. The text covers core concepts, model usage, object placement, method binding, and debugging. It also includes a manual installation guide and recommendations for using the Component Object Model (COM) with ObjAsm. The documentation is formatted using GitBook and is currently at version 1.3.
Here is the download link for the ObjAsm Deep Dive Podcast: https://e.pcloud.link/publink/show?code=XZUIQCZLB8h6TLFoDV0cVN9tNWc68jshHjy

Here is the original online gitbook: https://biterider.gitbook.io/objasm


#85
Custom Interface Components / Creating Controls With Assembl...
Last post by fearless - October 06, 2024, 12:47:34 AM
Today I fed the gitbook I created into NotebookLM to create a deep dive podcast. This was the summary it created:


QuoteSummary
This document provides an extensive guide to creating custom controls in assembly language, particularly using Microsoft Macro Assembler (MASM). It focuses on the development of a simple button control, SimpleButton, and covers essential aspects such as registering the control class, creating the control, handling window messages, and defining and managing properties. The document also explores different techniques for managing control properties, including using macros and the Win32 API. Additionally, it offers valuable insights into modern UI design trends and showcases the ModernUI framework, another project by the author that aims to modernize Win32 controls. The document further provides resources for learning more about assembly language development and custom control creation.

I uploaded the deep dive podcast so that it can be downloaded. Its a 43MB .wav file with a duration of about 15mins. There was about 3 or 4 instances where the podcast "hosts" reference something that they say they touched on or talked about previously, but hadn't actually done so, but other than that its actually pretty good I would say.

Here is the download link for the Creating Controls In Assembler Deep Dive Podcast: https://github.com/mrfearless/creating-controls-in-assembler/releases/download/Gitbook/Creating.Controls.In.Assembler.-.NotebookLM.-.Deep.Dive.Podcast.zip?raw=true

The original online gitbook is here for reference: https://fearless.gitbook.io/creating-controls-in-assembler

and pdf and .epub downloads are available here: https://github.com/mrfearless/creating-controls-in-assembler/releases
#86
Poasm / Re: Macro for DWORD local vari...
Last post by Vortex - October 05, 2024, 06:44:44 PM
The 64-bit version :

LOCQW MACRO arglist:VARARG

LOCAL _local

    FOR arg,<arglist>

        _local TEXTEQU <LOCAL >,arg,< : QWORD>

        _local

    ENDM

ENDM
#87
Windows API / Re: MRU help
Last post by stoo23 - October 05, 2024, 03:32:50 PM
Fine,.. Now that you have posted a link,.. simply Writing the highlighted Word 'Shortcut' doesn't really make anything clear  :smiley:
#88
Windows API / Re: MRU help
Last post by ognil - October 05, 2024, 03:21:55 PM
Thank you Admin,

Please change your plea to not guilty because ognil always tells the truth. :biggrin:

https://masm32.com/board/index.php?topic=12267.0  :thumbsup:
#89
Windows API / Re: MRU help
Last post by sinsi - October 05, 2024, 03:21:03 PM
MRU easy
Ribbon complicated
#90
Windows API / Re: MRU help
Last post by NoCforMe - October 05, 2024, 02:59:58 PM
Look, a MRU (most recently-used) list isn't rocket science.

As the name suggests, it's just a list of the n most-recently-used files used by the application (where n is set by the application--the number of MRUs). So far as I know, there's no standard way to implement this (though there may be some ready-made APIs for it).

All you need to do is to maintain a list of files opened by the app, and display them for the user to select from, usually under the File menu.

There are a couple of ways to store and retrieve this information: using a configuration file (my preference), usually kept in the same folder as the application executable, or in the registry (ugh! not my preference, but some people prefer that).

The MRU list is usually limited to some small fixed number of entries. Some applications allow you to set this number (up to a limit) as an option.

That pretty much covers it. Any more questions?