What's New
![]() |
![]() |
![]() |
![]() |
Appendix: What's New
This appendix describes what's new in Photon for the following releases:
- QNX Neutrino 6.4.1
- QNX Neutrino 6.4.0
- QNX Neutrino 6.3 Service Pack 1
- QNX Neutrino 6.3
- QNX Neutrino 6.2.1
- QNX Neutrino 6.2.0
- QNX Neutrino 6.1.0
- QNX Neutrino 6.0
What's new in Photon for QNX Neutrino 6.4.1
New content in the docs
Corrections, clarifications, and other changes
- PhWindowEvent_t()
- The Ph_WM_EVSTATE_FORCE event state was added.
- PgSetColorModel() and PgGetColorModel()
- A link was added to a list of supported color models.
- PtHelpTopicTree() and PtHelpUrl()
- A correction was made to the URL in the example.
What's new in Photon for QNX Neutrino 6.4.0
New content in the docs
- PfExtent16dot16()
- PfExtent16dot16Cx()
- pf_point_t()
- pf_point16dot16_t()
- pf_rect_t()
- pf_rect_16dot16_t()
- PgMultiBlit*()
- PgGetSurfaceGFSid()
- PgSetControlFlagGCCx()
- PdCreateOffscreenContextGF()
- PgSyncFlush()
- PhCancelDrag()
- PhMultiBlit()
- PhPoint16dot16_t()
- PhRect16dot16_t()
- PiConvertImage()
- PiInitImage()
- PiResizeImage()
Corrections, clarifications, and other changes
- PdCreateOffscreenContext()
- Pg_OSC_GF_SID - flag added to the function.
- PhCharacterCursorDescription_t
- Ph_CURSOR_NONE - Hides the cursor.
- PgDrawTextArea*()
- The len parameter specifies the number of bytes required to store the string.
- PgGetScalerCapabilities()
- You must set vcaps->size to sizeof(PgScalerCaps_t) before calling this function.
- PgSetFont()
- If the M1 or M2 global alpha values are set, and an anti-aliased font type is supplied to the function, the resulting text will be blended according to the global alpha values.
- PgSetVideoMode()
- PgSetVideoMode() returns an error if more than one layer is currently active via the Pg layer family of calls. By default, io-graphics utilizes one layer.
- PgVideoChannel_t()
- Documented as an internal-only type.
- PtInitDnd()
- This function accepts a drag event as well as a pointer event.
What's new in Photon for QNX Neutrino 6.3 Service Pack 1
New content in the docs
What's new in Photon for QNX Neutrino 6.3
This section includes:
- New content in the docs
- Deprecated functions and data types
- Corrections, clarifications, and other changes
New content in the docs
- AbGetABW()
- ApSetContext()
- PdGetOffscreenSurface()
- PfAllocDetailsCx()
- PfAllocRenderCx()
- PfAssignDllCx()
- PfAttachCx()
- PfAttachDllCx()
- PfAttachLocalDll()
- PfAttachServerDll()
- PfAttachSleuthMonitorDll()
- PfConvertFontIDCx()
- PfConvertPixelsToPointSizeCx()
- PfDecomposeStemToIDCx ()
- PfDefaultContext()
- PfDetachCx()
- PfDetachLocalDll()
- PfDynamicFontIDCx()
- PfDynamicLoadCx()
- PfDynamicUnloadCx()
- PfExtentComponentsCx()
- PfExtentCx()
- PfExtentTextCharPositionsCx()
- PfFindFontCx()
- PfFontBaseStemCx()
- PfFontDescriptionCx()
- PfFontFlagsCx()
- PfFontSizeCx()
- PfFontTypeCx()
- PfFreeFontCx()
- PfGenerateFontNameCx()
- PfGetGlyphIndexCx()
- PfGetOutlineCx()
- PfGlyphCx()
- PfLoadFontCx()
- PfLoadMetricsCx()
- PfQueryFontInfoCx()
- PfQueryFontsCx()
- PfRenderCx()
- PfRestartServerDll()
- PfSetOptionsDll()
- PfSetRenderingDPICx()
- PfWaitOnServerDll()
- PgAlphaOffCx()
- PgAlphaOnCx()
- PgBevelBoxCx()
- PgBlit()
- PgBlitCx()
- PgChromaOffCx()
- PgChromaOnCx()
- PgClearDrawBufferCx()
- PgClearTranslationCx()
- PgContextBlitCx()
- PgContextBlitAreaCx()
- PgContrastBevelBoxCx()
- PgDefaultAlpha()
- PgDefaultChroma()
- PgDrawArcCx()
- PgDrawArrowCx()
- PgDrawBevelBoxCx(), PgDrawIBevelBoxCx()
- PgDrawBeveledCx()
- PgDrawBezierCx(), PgDrawBezierv(), PgDrawBezierCxv()
- PgDrawBitmapCx(), PgDrawBitmapv(), PgDrawBitmapCxv()
- PgDrawEllipseCx()
- PgDrawGradientCx()
- PgDrawGradientBevelBoxCx()
- PgDrawGridCx()
- PgDrawGridCx()
- PgDrawImageCx(), PgDrawImagev(), PgDrawImageCxv()
- PgDrawLineCx(), PgDrawILineCx()
- PgDrawMultiTextAreaCx ()
- PgDrawPhImageCx(), PgDrawPhImagev(), PgDrawPhImageCxv()
- PgDrawPhImageRectv(), PgDrawPhImageRectCxv()
- PgDrawPixelCx(), PgDrawIPixelCx()
- PgDrawPixelArrayCx(), PgDrawPixelArrayv(), PgDrawPixelArrayCxv()
- PgDrawPolygonCx(), PgDrawPolygonv(), PgDrawPolygonCxv()
- PgDrawRectCx(), PgDrawIRectCx()
- PgDrawPixelArrayCx(), PgDrawPixelArrayv(), PgDrawPixelArrayCxv()
- PgDrawRepImageCx(), PgDrawRepImagev(), PgDrawRepImageCxv()
- PgDrawRepPhImageCx(), PgDrawRepPhImagev(), PgDrawRepPhImageCxv()
- PgDrawRoundRectCx()
- PgDrawSpanCx(), PgDrawSpanv(), PgDrawSpanCxv()
- PgDrawStringCx(), PgDrawStringv(), PgDrawStringCxv()
- PgDrawTextCx(), PgDrawTextv(), PgDrawTextCxv(), PgDrawTextCharsCx()
- PgDrawTextAreaCx()
- PgDrawTImageCx(), PgDrawTImageCxv(), PgDrawTImagev()
- PgDrawTrendCx(), PgDrawTrendCxv(), PgDrawTrendv()
- PgFlushCx(), PgFFlushCx()
- PgGetColorModelCx()
- PgGetGCCx()
- PgGetRegionCx()
- PgSetAlphaCx()
- PgSetAlphaBlendCx()
- PgSetChromaCx()
- PgSetClippingCx()
- PgSetColorModelCx()
- PgSetDrawBufferSizeCx ()
- PgSetDrawModeCx()
- PgSetFillColorCx()
- PgSetFillDitherCx()
- PgSetFillTransPatCx()
- PgSetFillXORColorCx()
- PgSetFontCx()
- PgSetGCCx()
- PgSetMultiClipCx()
- PgSetPaletteCx()
- PgSetPlaneMaskCx()
- PgSetRegionCx()
- PgSetStrokeCapCx()
- PgSetStrokeColorCx()
- PgSetStrokeDashCx()
- PgSetStrokeDitherCx()
- PgSetStrokeJoinCx()
- PgSetStrokeTransPatCx ()
- PgSetStrokeWidthCx(), PgSetStrokeFWidthCx()
- PgSetStrokeXORColorCx ()
- PgSetTextColorCx()
- PgSetTextDitherCx()
- PgSetTextTransPatCx()
- PgSetTextXORColorCx()
- PgSetTranslationCx()
- PgSetUnderlineCx()
- PgSetUserClipCx(), PgSetUserClipAbsoluteCx()
- PgSwapDisplayCx()
- PgWaitVSyncCx()
- PgMap_t
- PhClipboardHdr
- PhClipboardRead()
- PhClipboardWrite()
- PhRegionInfo()
- PtAppAddCallback()
- PtAppAddEventHandler()
- PtAppAddFilterCallback()
- PtAppAddHotkeyHandler()
- PtAppGetResource()
- PtAppGetResources()
- PtAppRemoveCallback()
- PtAppRemoveEventHandler()
- PtAppRemoveFilterCallback()
- PtAppRemoveHotkeyHandler()
- PtAppSetResource()
- PtAppSetResources()
- PtGetDndFetchIndex()
- PtWindowGetFrameSize ()
- PxConfigCloseCx()
- PxConfigDeleteEntryCx()
- PxConfigDeleteSectionCx ()
- PxConfigFirstSection(), PxConfigFirstSectionCx()
- PxConfigForceEmptySectionCx()
- PxConfigNextEntry(), PxConfigNextEntryCx()
- PxConfigNextSectionCx()
- PxConfigNextStringCx()
- PxConfigOpenCx()
- PxConfigReadBoolCx()
- PxConfigReadCharCx()
- PxConfigReadDoubleCx()
- PxConfigReadIntCx()
- PxConfigReadLLong(),
PxConfigReadLLongCx()
- PxConfigReadLongCx()
- PxConfigReadShortCx()
- PxConfigReadStringCx()
- PxConfigSectionCx()
- PxConfigWriteBoolCx()
- PxConfigWriteCharCx()
- PxConfigWriteDoubleCx()
- PxConfigWriteIntCx()
- PxConfigWriteLLong(), PxConfigWriteLLongCx()
- PxConfigWriteLongCx()
- PxConfigWriteShortCx()
- PxConfigWriteStringCx()
- PxGetImageExtensions()
- PxTerminate()
Corrections, clarifications, and other changes
- PdCreateOffscreenContext() and PdDupOffscreenContext ()
- Added several new flags for optimization. In PdCreateOffscreenContext(), ImageType now supports several new values.
- PdSetTargetDevice()
- Now takes a void * instead of a PhDrawContext_t to specify the draw context.
- PgCreateLayerSurface ()
- Added several new flags for optimization.
- PgGetVideoModeInfo()
- Returns a new flag in PgVideoModeInfo_t. mode_capabilities2: PgVM_MODE_CAP2_SCALED_BLIT
- PxLoadImage()
- Added support for SGI image format.
Deprecated functions and data types
- PfRenderText() — use PfRender() instead.
- PfRenderWideText() — use PfRender() instead.
- PfFractionalRenderText() — use PfRender() instead.
- PfRenderCtx() — use PfRenderCx() instead.
- PfGetCacheStats() — no longer required.
- PgDrawPolygonmx() — use PgDrawPolygonv() instead.
- PgDrawPixelArraymx() — use PgDrawPixelArrayv() instead.
- PgDrawSpanmx() — use PgDrawSpanv() instead.
- PgDrawBeziermx() — use PgDrawBezierv() instead.
- PgDrawTrendmx() — use PgDrawTrendv() instead.
- PgDrawBitmapmx() — use PgDrawBitmapv() instead.
- PgDrawImagemx() — use PgDrawImagev() instead.
- PgDrawPhImagemx() — use PgDrawPhImagev() instead.
- PgDrawPhImageRectmx() — use PgDrawPhImageRectv() instead.
- PgDrawTImagemx() — use PgDrawTImagev() instead.
- PgDrawRepTImagemx() — use PgDrawRepTImagev() instead.
- PgDrawRepBitmapmx() — use PgDrawRepBitmapv() instead.
- PgDrawRepImagemx() — use PgDrawRepImagev() instead.
- PgDrawRepPhImagemx() — use PgDrawRepPhImagev() instead.
- PgDrawTextmx() — use PgDrawTextv() instead.
- PgDrawStringmx() — use PgDrawStringv() instead.
- PtWindowFrameSize() — use PtWindowGetFrameSize() instead.
- PhClipboardCopy() — use PhClipboardWrite() instead.
- PhClipboardPasteStart(), PhClipboardPasteType(), PhClipboardPasteTypeN(), PhClipboardPasteFinish() — use PhClipboardRead() instead.
What's new in Photon for QNX Neutrino 6.2.1
This section includes:
New content in the docs
- ApModifyItemAccel()
- Modify the keyboard shortcut for a menu item
- PgCreateDriverRegion()
- Create a region that's owned by the graphics driver
- PgCreateLayerSurface()
- Create an offscreen context for a layer
- PgGetLayerCaps()
- Query the capabilities of a layer
- PgLayerCaps_t
- Capabilities for a layer
- PgLockLayer()
- Lock a layer for exclusive use by an application
- PgSetLayerArg()
- Configure a layer argument
- PgSetLayerSurface()
- Display the offscreen context on the specified layer surface
- PgUnlockLayer()
- Unlock a layer
- PhKeyEvent_t
- Added more information about interpreting key events.
- PhLibVersion()
- Get the version number of the Photon libraries
- PtFepCmd()
- Control a Front-End Processor (FEP) from an application
- PtHelpSearch()
- New value for the method argument, HELP_SEARCH_METHOD_SUBSTRING_CASE.
- PxLoadImage()
- Added a section on threads and PxLoadImage() .
Deprecated functions and data types
- PtConnectionWaitForId() — this function is unnecessary.
Corrections
- ApCreateModule()
- Corrected the description of creating a picture module.
- PdSetTargetDevice()
- Corrected the prototype.
- PhEventRead()
- Corrected the description and example.
What's new in Photon for QNX Neutrino 6.2.0
This section includes:
- New content in the docs
- Deprecated functions and data types
- Corrections, clarifications, and other changes
New content in the docs
This section includes:
Ap
- ApAddContext()
- Add a PhAB context so you can use a PhAB application as a DLL
- ApRemoveClass()
- Remove a widget class
- ApRemoveContext()
- Remove the PhAB context from a PhAB application that you're using as a DLL
Pd
- PdCreateOffscreenLock()
- Create an offscreen lock
- PdDestroyOffscreenLock()
- Destroy an offscreen lock
- PdIsOffscreenLocked()
- Determine whether or not an offscreen context is locked
- PdLockOffscreen()
- Lock an offscreen context
- PdUnlockOffscreen()
- Unlock an offscreen context
Pf
- PfExtent(), PfExtentCx()
- Calculate the extent rectangle of a text string
- PfExtentTextCharPositionsCx()
- Calculate individual character positions, specifying a font context
- PfExtentWideText()
- The prototype has changed; the string is now of type uint16_t *.
- PfFindFont(), PfGenerateFontName()
- The prototypes have changed; they now use char instead of unsigned char.
- PfGenerateFontNameCx()
- Generate a font name.
- PfGetOutlineCx()
- Get individual point information for a glyph outline, specifying the font context.
- PfRenderCtx(), PfRenderCx()
- Render a string via a user callback function
- PfRenderWideText(), PfWideTextWidthBytes() , PfWideTextWidthChars()
- The prototype has changed; the string is now of type uint16_t *.
Pg
- PgAlphaValue()
- Extract the alpha component from a color value
- PgARGB()
- Convert alpha, red, green, and blue values to composite color format
- PgContextBlit(), PgContextBlitArea()
- The source data is now scaled to fit the destination rectangle.
- PgGetColorModel()
- Get the current color model
- PgSetColorModel()
- Set the current color model
Ph
- PhImage_t
- New image types:
- Pg_IMAGE_DIRECT_1555
- Pg_IMAGE_DIRECT_4444
Pp
- PpPrintContext_t
- Data structure describing a print context
Pt
- PtCreateClassStyle()
- Create a class style
- PtDupClassStyle()
- Get a copy of a widget class style
- PtFindClassStyle()
- Find the style with a given name
- PtGetStyleMember()
- Get a member of a style
- PtGetWidgetStyle()
- Get the style that a widget is currently using
- PtSetClassStyleMethods()
- Set multiple members of a style from an array
- PtSetStyleMember()
- Set a member of a style
- PtSetStyleMembers()
- Set multiple members of a style from a variable-length argument list
- PtSetWidgetStyle()
- Set the current style for a widget
utf8
- utf8len()
- Count the bytes in a UTF-8 character
- utf8strblen()
- Find the number of UTF-8 characters in part of a string
- utf8strchr()
- Search for a UTF-8 character in a string
- utf8strichr()
- Search for a UTF-8 character in a string, ignoring case
- utf8strirchr()
- Search backwards for a UTF-8 character in a string, ignoring case
- utf8strlen()
- Find the length of a UTF-8 character string
- utf8strnchr()
- Search for a UTF-8 character in part of a string
- utf8strncmp()
- Compare part of a UTF-8 character string
- utf8strndup()
- Create a copy of part of a UTF-8 character string
- utf8strnichr()
- Search for a UTF-8 character in part of a string, ignoring case
- utf8strnlen()
- Find the number of bytes used by n characters of a UTF-8 character string
- utf8strrchr()
- Search backwards for a UTF-8 character in a string
- utf8towc()
- Convert a UTF-8 character to a wide-character code
wc
- wctoutf8()
- Convert a wide-character code into a UTF-8 character
Deprecated functions and data types
- Pg_MIX_COLOR — use dithering instead.
- PhRegionGetData() — use PhRegionQuery() and PhRegionDataFindType() instead.
- PtAppRemoveSignalProc() — use PtAppRemoveSignal() instead.
The mbstr* functions have been replaced:
| Instead of: | Use: |
|---|---|
| mbstrblen() | utf8strblen() |
| mbstrchr() | utf8strchr() |
| mbstrichr() | utf8strichr() |
| mbstrirchr() | utf8strirchr() |
| mbstrlen() | utf8strlen() |
| mbstrnchr() | utf8strnchr() |
| mbstrncmp() | utf8strncmp() |
| mbstrndup() | utf8strndup() |
| mbstrnichr() | utf8strnichr() |
| mbstrnlen() | utf8strnlen() |
| mbstrrchr() | utf8strrchr() |
Corrections, clarifications, and other changes
- ApAddClass()
- This function now makes a copy of the string pointed to by class_name_string; it no longer keeps a pointer to the string.
- PdGetOffscreenContextPtr()
- This function can fail on certain hardware. You can use PdGetOffscreenContextPtr() on closed systems where you know that the graphics frame buffer is linear; don't use it in applications that target generic hardware configurations.
- PfConvertFontID()
- Now returns char * instead of unsigned char *.
- PfFontDescription()
- Now returns char const * instead of unsigned char const *.
- PfQueryFonts()
- If you don't want to limit the search to fonts that support a specific character, pass PHFONT_ALL_SYMBOLS as the symbol argument.
- PfGetOutline()
- The pkucFont argument is now of type char const * instead of unsigned char const *.
- PhEmit(), PhEmitmx(), PhEventEmit(), PhEventEmitmx()
- If you set the collector ID for the event (event->collector.rid) to zero, the event is enqueued to every appropriately sensitive region that intersects with the event. If you set collector.rid to a region ID, only that region notices the event.
- PpPrintWidget()
- Pt_PP_RESIZE_PC is a new value for the resize argument.
- PpSetPC()
- Corrected the data types for Pp_PC_INTENSITY, Pp_PC_PRINTER_RESOLUTION, Pp_PC_SOURCE_COLORS, and Pp_PC_SOURCE_RESOLUTION.
- PtAddClassStyle()
- Corrected the prototype.
- PtQuitMainLoop()
- This function now returns an int that indicates whether or not the thread has already called PtQuitMainLoop().
- PtSpawn()
- By default, the new process inherits all of the parent's valid file descriptors whose values are less than or equal to 9.
- PxLoadImage()
- You don't have to define the file formats that you want to support any more (e.g. PX_GIF_SUPPORT).
What's new in Photon for QNX Neutrino 6.1.0
Patch A
New entries:
New content in the docs
- PdSetOffscreenTranslation()
- PfFontBaseStem()
- PgDrawPhImage()
- PgDrawRepPhImage()
- PgGetRegion()
- PhMakeTransparent()
- PtAllowExit()
- PtPassword()
- PtPreventExit()
- PtPrintPropSelect()
Deprecated functions and data types
- PdOpenGLContextSetRid()
- PdOpenGLContextSwapBuffers()
- PgCreateGradient()
- PgGetGradientColor()
- PgGradientControl_t
- PgGradientLinear()
- PgGradientMakeImage()
- PgGradientPercent()
- PgGradientRotatePalette()
Other changes
- PhWindowQueryVisible()
- Ph_QUERY_CONSOLE and Ph_QUERY_WORKSPACE are new bits for the flags argument. Ph_QUERY_CONSOLE is the default value.
What's new in Photon for QNX Neutrino 6.0
New functionality
Font names
An API for handling font names in an organized, portable way has been added. Previously, we recommended you address a font by the “stem name” supplied by the font manager (e.g. helv12). This approach is no longer recommended, since stem names aren't guaranteed to be static. This is especially true when new font technology is added to the Photon font subsystem. The new API provides an interface that eliminates the need to recode in the future. It includes:
New content in the docs
Al—PhAB Translation
These new functions support language and message databases:
- AlClearTranslation()
- AlCloseDBase()
- AlGetEntry()
- AlGetSize()
- AlOpenDBase()
- AlReadTranslation()
- AlSaveTranslation()
- AlSetEntry()
Ap—PhAB
New:
- ApCloseMessageDB()
- ApCreateDBWidget()
- ApCreateDBWidgetFamily()
- ApDeleteDBWidget()
- ApGetDBWidgetInfo()
- ApGetMessage()
- ApLoadMessageDB()
- ApModalWait()
These functions have been renamed; you should use the new name, although applications that use the old name will still work:
- ApCopyWidget() — now called ApCopyDBWidget()
Deprecated:
- ApBitmap_t
- ApDeleteWidget() — you can use ApDeleteDBWidget() instead, but note that it deletes the given widget and its children.
- ApFreeBitmapRes()
- ApGetBitmapRes()
The prototype has changed for:
mbstr—Multibyte-Character
New:
- mbstrichr() — see utf8strichr()
- mbstrirchr() — see utf8strirchr()
- mbstrndup() — see utf8strndup()
- mbstrnichr() — see utf8strnichr()
Pd—Draw Context
New:
- PdCreateDirectContext()
- PdCreateOffscreenContext()
- PdDirectStart()
- PdDirectStop()
- PdDupOffscreenContext()
- PdGetDevices()
- PdGetOffscreenContextPtr()
- PdOffscreenContext_t
- PdReleaseDirectContext()
- PdSetTargetDevice()
Pf—Font Server
New:
- PfConvertFontID()
- PfDecomposeStemToID()
- PfDynamicLoad()
- PfDynamicUnload()
- PfExtentFractTextCharPositions()
- PfExtentTextCharPositions()
- PfExtentTextToRect()
- PfExtentWideText()
- PfFindFont()
- PfFontDescription()
- PfFontFlags()
- PfFontSize()
- PfFreeFont()
- PfGenerateFontName()
- PfGetCacheStats()
- PfGetOutline()
- PfQueryFontInfo() — replaces PfQueryFont()
- PfRenderWideText()
- PfTextWidthBytes()
- PfTextWidthChars()
- PfWideTextWidthBytes()
- PfWideTextWidthChars()
Deprecated:
- PfQueryFont() — replaced by PfQueryFontInfo(), which returns a valid stem name when using a scalable font. The old function is still in the library, so applications that use it should still work.
Pg—Graphics
New:
- PgAlphaOff()
- PgAlphaOn()
- PgBevelBox()
- PgCalcColorContrast()
- PgChromaOff()
- PgChromaOn()
- PgConfigScalerChannel()
- PgContextBlit()
- PgContextBlitArea()
- PgContrastBevelBox()
- PgCreateVideoChannel()
- PgDestroyVideoChannel()
- PgDrawGradient()
- PgDrawGradientBevelBox()
- PgDrawMultiTextArea()
- PgDrawPhImageRectmx()
- PgDrawRepPhImagemx()
- PgExtentMultiText()
- PgGetGraphicsHWCaps()
- PgGetOverlayChromaColor()
- PgGetScalerCapabilities()
- PgGetVideoMode()
- PgGetVideoModeInfo()
- PgGetVideoModeList()
- PgNextVideoFrame()
- PgScalerCaps_t
- PgScalerProps_t
- PgReadScreen()
- PgReadScreenSize()
- PgSetAlpha()
- PgSetAlphaBlend()
- PgSetChroma()
- PgSetDPMSMode()
- PgSetVideoMode()
- PgSwapDisplay()
- PgVideoChannel_t
- PgWaitDrawComplete()
- PgWaitHWIdle()
- PgWaitVSync()
Other new features:
- PgSetDrawMode()
- New drawing modes.
Ph—Photon
New:
- PhAllocPackType()
- PhAreaToRect()
- PhCreateImage()
- PhCreateTransportCtrl()
- PhDCCreate()
- PhDCRelease()
- PhDeTranslateRect()
- PhEmit() — similar to PhEventEmit(), but with a cleaner API
- PhEmitmx() — similar to PhEventEmitmx(), but with a cleaner API
- PhFindTransportType()
- PhFreeTransportType()
- PhGetAllTransportHdrs()
- PhGetNextInlineData()
- PhGetNextTransportHdr()
- PhGetTransportHdr()
- PhGetTransportVectors()
- PhInputGroup()
- PhLinkTransportData()
- PhLocateTransHdr()
- PhMallocUnpack()
- PhPackEntry()
- PhPackType()
- PhRectIntersect() — replaces PtRectIntersect()
- PhRectToArea()
- PhRectUnion() — replaces PtRectUnion()
- PhRegionGetData()
- PhRegisterTransportType()
- PhReleaseTransportCtrl()
- PhReleaseTransportHdrs()
- PhTranslateRect() — replaces PtTranslateRect()
- PhTransportFindLink()
- PhTransportCtrl_t
- PhTransportLink_t
- PhTransportRegEntry_t
- PhTransportType()
- PhUnlinkTransportHdr()
- PhUnpack()
Other changes:
- PhEvent_t
- Ph_EV_BUT_RELEASE events have a new subtype, Ph_EV_RELEASE_OUTBOUND.
- PhInitDrag()
- The prototype has changed; the ptrpos and cursor arguments have been added.
- PhMakeTransBitmap()
- This function now supports all image types currently supported by Photon. The meaning of the trans_color argument depends on the image type.
Pi—Images
These new functions support image operations:
- PiCropImage()
- PiDuplicateImage()
- PiFlipImage()
- PiGetPixel()
- PiGetPixelFromData()
- PiGetPixelRGB()
- PiSetPixel()
- PiSetPixelInData()
Pp—Printing
New functions:
- PpContinueJob() — replaces PpPrintStart()
- PpCreatePC() — replaces PpPrintCreatePC()
- PpEndJob() — replaces PpPrintClose()
- PpFreePrinterList()
- PpGetCanvas()
- PpGetPC() — replaces PpPrintGetPC()
- PpLoadDefaultPrinter()
- PpLoadPrinterList()
- PpReleasePC() — replaces PpPrintReleasePC()
- PpSetCanvas()
- PpSetPC() — replaces PpPrintSetPC()
- PpStartJob() — replaces PpPrintOpen()
- PpSuspendJob() — replaces PpPrintStop()
Other changes:
- PpPrintWidget()
- You no longer need to call PtFlush() after calling this function.
Pt—Widget toolkit
New:
- PtAddClassStyle()
- PtAddFilterCallback()
- PtAddFilterCallbacks()
- PtAddResponseType()
- PtAlert()
- PtAppSetFdMode()
- PtBlit()
- PtBlockAllWindows()
- PtBlockWindow()
- PtCalcCanvas()
- PtCalcSurface()
- PtCalcSurfaceByAction()
- PtCalcSurfaceById()
- PtCancelDnd()
- PtCheckSurfaces()
- PtClippedBlit()
- PtCondTimedWait()
- PtCondWait()
- PtConnectionAddEventHandlers()
- PtConnectionAddMsgHandlers()
- PtConnectionClientGetUserData()
- PtConnectionClientSetError()
- PtConnectionClientSetUserData()
- PtConnectionFindId()
- PtConnectionFlush()
- PtConnectionFindName()
- PtConnectionNotify()
- PtConnectionReply(), PtConnectionReplymx()
- PtConnectionResizeEventBuffer()
- PtConnectionSend(), PtConnectionSendmx()
- PtConnectionServerDestroy()
- PtConnectionServerGetUserData()
- PtConnectionServerSetError()
- PtConnectionServerSetUserData()
- PtConnectionTmpName()
- PtConnectionWaitForName()
- PtConnectorCreate()
- PtConnectorDestroy()
- PtConnectorGetId()
- PtCRC() — replaces PxCRC()
- PtCRCValue()
- PtCreateActionSurface()
- PtCreateSurface()
- PtCreateTransportCtrl()
- PtDamageSurface(), PtDamageSurfaceById()
- PtDamageSurfaceByAction()
- PtDestroyAllSurfaces()
- PtDestroySurface()
- PtDestroySurfaceById()
- PtDisableSurface(), PtDisableSurfaceById()
- PtDisableSurfaceByAction()
- PtDndFetch_t
- PtDndSelect()
- PtEnableSurface(), PtEnableSurfaceById()
- PtEnableSurfaceByAction()
- PtEnter()
- PtExit()
- PtFindFocusNextFrom()
- PtFindFocusPrevFrom()
- PtFindSurface()
- PtFindSurfaceByAction()
- PtGetResource()
- PtGiveFocus()
- PtHelpQuit() — replaces PxHelpQuit()
- PtHelpSearch() — replaces PxHelpSearch()
- PtHelpTopic() — replaces PxHelpTopic()
- PtHelpTopicRoot() — replaces PxHelpTopicRoot()
- PtHelpTopicTree() — replaces PxHelpTopicTree()
- PtHelpUrl() — replaces PxHelpUrl()
- PtHelpUrlRoot() — replaces PxHelpUrlRoot()
- PtHideSurface(), PtHideSurfaceById()
- PtHideSurfaceByAction()
- PtInitDnd()
- PtInsertSurface(), PtInsertSurfaceById()
- PtLeave()
- PtMakeModal()
- PtModalBlock()
- PtModalUnblock()
- PtNotice()
- PtPrintSelect()
- PtPrompt()
- PtPulseArm()
- PtQuitMainLoop()
- PtReleaseTransportCtrl()
- PtRemoveFilterCallback()
- PtRemoveFilterCallbacks()
- PtSetAreaFromCanvas()
- PtSetResource()
- PtShowSurface(), PtShowSurfaceById()
- PtShowSurfaceByAction()
- PtSurfaceActionId()
- PtSurfaceAddData(), PtSurfaceAddDataById()
- PtSurfaceBrotherBehind()
- PtSurfaceBrotherInFront()
- PtSurfaceCalcBoundingBox(), PtSurfaceCalcBoundingBoxById()
- PtSurfaceExtent(), PtSurfaceExtentById()
- PtSurfaceGetData(), PtSurfaceGetDataById()
- PtSurfaceHit()
- PtSurfaceId()
- PtSurfaceInBack()
- PtSurfaceInFront()
- PtSurfaceIsDisabled()
- PtSurfaceIsEnabled()
- PtSurfaceIsHidden()
- PtSurfaceIsShown()
- PtSurfaceRect(), PtSurfaceRectById()
- PtSurfaceRemoveData(), PtSurfaceRemoveDataById()
- PtSurfaceTestPoint()
- PtSurfaceToBack(), PtSurfaceToBackById()
- PtSurfaceToFront(), PtSurfaceToFrontById()
- PtTransportCtrl_t
- PtTransportRequestable()
- PtTransportType()
- PtUnblockWindows()
- PtWidgetActiveSurface()
- PtWidgetMinimumSize()
- PtWidgetPreferredSize()
- PtWindowFrameSize()
Deprecated:
- PtAskQuestion()
- PtBasicWidgetCanvas(), PtLabelWidgetCanvas(), PtWidgetCanvas() — use PtCalcCanvas() instead.
- PtDeTranslateRect() — use PhDeTranslateRect()
- PtFrameSize() — use PtWindowGetFrameSize()
- PtPulseArmFd(), PtPulseArmPid() — use PtPulseArm() instead.
- PtPulseDeliver() — use MsgDeliverEvent() instead (see the QNX Neutrino Library Reference).
- PtPulseDisarm() — you don't need this under QNX Neutrino.
- PtSetAreaFromExtent() — use PhRectToArea()
- PtSetAreaFromWidgetCanvas() — use PtSetAreaFromCanvas()
- PtSyncPhoton() — use PtExit() instead.
- PtTranslateRect() — use PhTranslateRect()
These functions have been renamed; you should use the new name, although applications that use the old name will still work:
- PtReParentWidget() — now called PtReparentWidget()
Other changes:
- PtCreateWidget()
- The parent argument has changed.
It can now be a pointer to the parent widget or one of:
- Pt_DEFAULT_PARENT — use the default parent, which is the most recently created container.
- Pt_NO_PARENT
- PtFileSelection()
- This function can select directories as well as files.
Enable directory selection with the Pt_FSDIALOG_SELECT_DIRS
flag.
Existing directories can be selected with btn1 (the Open button).
PtFileSelection() can create and delete directories and delete files. You can create new directories at any time by pressing the New button. When the PtFileSel widget has focus, two new hotkeys are activated: the Insert key creates a new directory just like the New Directory button, and the Delete key removes the currently selected item.
The info structure has the following new members:
- user_data
- confirm_display
- confirm_selection
- new_directory
New flags:
- Pt_FSR_NO_FCHECK — replaces Pt_FSDIALOG_NO_FCHECK
- Pt_FSR_NO_FSPEC — replaces Pt_FSDIALOG_NO_FSPEC
- Pt_FSR_NO_UP_BUTTON — replaces Pt_FSDIALOG_NO_UP_BUTTON
- Pt_FSR_NO_NEW
- Pt_FSR_NO_NEW_BUTTON
- Pt_FSR_NO_SELECT_FILES
- Pt_FSR_SELECT_DIRS
- Pt_FSR_CREATE_PATH
- Pt_FSR_NO_CONFIRM_CREATE_PATH
- Pt_FSR_NO_DELETE
- Pt_FSR_NO_CONFIRM_DELETE
- Pt_FSR_RECURSIVE_DELETE
- Pt_FSR_CONFIRM_EXISTING
- PtModalEnd()
- The prototype has changed; this function no longer takes as an argument the value returned by PtModalStart().
- PtModalStart()
- No longer returns anything.
- PtRectIntersect()
- Replaced by PhRectIntersect() —
- PtRectUnion()
- Replaced by PhRectUnion() —
Px—Extended
- PxCRC()
- Replaced by PtCRC().
- PxHelpQuit()
- Replaced by PtHelpQuit()
- PxHelpSearch()
- Replaced by PtHelpSearch()
- PxHelpTopic()
- Replaced by PtHelpTopic()
- PxHelpTopicRoot()
- Replaced by PtHelpTopicRoot()
- PxHelpTopicTree()
- Replaced by PtHelpTopicTree()
- PxHelpUrl()
- Replaced by PtHelpUrl()
- PxHelpUrlRoot()
- Replaced by PtHelpUrlRoot()
- PxLoadImage()
- If PX_TRANSPARENT is set in the flags member of the PxMethods_t structure, PxLoadImage() makes the image transparent, using the detected transparent color and the image's chroma scheme. There's no need to set the transparent member of this structure — it's deprecated.
- PxTranslateUnknown()
- Control how unknown encodings are handled
You no longer need to include <photon/PxHelp.h> when using the help functions.
Rt—Realtime
New:
Corrections
Pg—Graphics
- PgDrawImage(), PgDrawImagemx()
- Instead of using this function, we recommend using a PhImage_t structure and calling PgDrawPhImagemx().
- PgDrawTImage(), PgDrawTImagemx()
- Instead of using this function, we recommend using a PhImage_t structure and calling PgDrawPhImagemx().
Ph—Photon
- PhMakeTransBitmap()
- Use PgDrawPhImagemx() to draw a transparent image.
![]() |
![]() |
![]() |
![]() |

![[Previous]](prev.gif)
![[Contents]](contents.gif)
![[Index]](keyword_index.gif)
![[Next]](next.gif)
