From 58d3ce532fd48b094e8ad5ec3404fe3757d24b92 Mon Sep 17 00:00:00 2001 From: Luke Diamand Date: Wed, 15 Jul 2026 12:39:05 +0100 Subject: [PATCH] Fix spelling mistakes ``` additonal asynnchronous cancelations decactivation decativation Defintion Developmemnt exampe explicity interrnal lmited Loninteger managment neccessary obejct Permisson previoulsy propogated quartely repsonse Roky secrey specifed Specifed Streming tootip ``` --- docs/DEVELOPER/authentication/on-device-authentication.md | 2 +- .../universal-authentication-protocol-for-single-sign-on.md | 4 ++-- docs/DEVELOPER/dev-tools/app-tracing.md | 2 +- docs/DEVELOPER/dev-tools/index.md | 2 +- docs/DEVELOPER/discovery/instant-signup.md | 2 +- .../getting-started/architecture/dev-environment.md | 2 +- docs/DEVELOPER/media-playback/voice-controls/index.md | 4 ++-- docs/DEVELOPER/performance-guide/data-transfer-apis.md | 6 +++--- docs/DEVELOPER/publishing/channel-publishing-guide.md | 2 +- docs/DEVELOPER/release-notes/index.md | 6 +++--- docs/DEVELOPER/roku-pay/implementation/channel-store-1.md | 2 +- .../DEVELOPER/roku-pay/implementation/push-notifications.md | 4 ++-- docs/DEVELOPER/roku-pay/quickstart/product-catalog.md | 6 +++--- .../roku-pay/subscription-recovery/basic-recovery.md | 2 +- docs/FEATURES/analytics/index.md | 2 +- docs/FEATURES/dashboard/user-access-management.md | 2 +- docs/REFERENCES/brightscript/events/roaudioplayerevent.md | 2 +- docs/REFERENCES/brightscript/interfaces/iffont.md | 6 +++--- docs/REFERENCES/brightscript/interfaces/iflongint.md | 2 +- docs/REFERENCES/brightscript/interfaces/ifsgnodefield.md | 2 +- docs/REFERENCES/brightscript/interfaces/iftexturemanager.md | 4 ++-- docs/REFERENCES/brightscript/interfaces/ifutils.md | 2 +- docs/REFERENCES/scenegraph/dialog-nodes/keyboarddialog.md | 4 ++-- .../dynamic-voice-keyboard-nodes/voice-text-edit-box.md | 2 +- .../scenegraph/list-and-grid-nodes/zoomrowlist.md | 4 ++-- docs/REFERENCES/scenegraph/media-playback-nodes/video.md | 2 +- .../REFERENCES/scenegraph/sliding-panels-nodes/gridpanel.md | 4 ++-- .../REFERENCES/scenegraph/sliding-panels-nodes/listpanel.md | 4 ++-- .../scenegraph/typographic-nodes/scrollabletext.md | 2 +- .../scenegraph/widget-nodes/parentalcontrolpinpad.md | 2 +- docs/REFERENCES/scenegraph/widget-nodes/pinpad.md | 2 +- 31 files changed, 47 insertions(+), 47 deletions(-) diff --git a/docs/DEVELOPER/authentication/on-device-authentication.md b/docs/DEVELOPER/authentication/on-device-authentication.md index cc1ddd0b..9fbeb281 100644 --- a/docs/DEVELOPER/authentication/on-device-authentication.md +++ b/docs/DEVELOPER/authentication/on-device-authentication.md @@ -149,7 +149,7 @@ To check for a valid access token in the device registry, follow these steps: ... end if - 'check if access token stored in Roku cloud has specifed value + 'check if access token stored in Roku cloud has specified value response = myChannelStore.storeChannelCredDataStatus.response if response.json.channel_data = myChannelStore.channelCredData ... diff --git a/docs/DEVELOPER/authentication/universal-authentication-protocol-for-single-sign-on.md b/docs/DEVELOPER/authentication/universal-authentication-protocol-for-single-sign-on.md index f6230475..e60c066d 100644 --- a/docs/DEVELOPER/authentication/universal-authentication-protocol-for-single-sign-on.md +++ b/docs/DEVELOPER/authentication/universal-authentication-protocol-for-single-sign-on.md @@ -147,7 +147,7 @@ If both the device registry and Roku cloud do not contain a valid access token, ' ... end if - 'check if access token stored in Roku cloud has specifed value + 'check if access token stored in Roku cloud has specified value response = myChannelStore.storeChannelCredDataStatus.response if response.json.channel_data = myChannelStore.channelCredData ' ... @@ -168,4 +168,4 @@ Roku does not recommend any one approach to addressing sign out situations, and ## Testing Automatic Account Link -You can test Automatic Account Link by sideloading your app and using the [billing test feature in the Developer Dashboard](doc:billing-testing). \ No newline at end of file +You can test Automatic Account Link by sideloading your app and using the [billing test feature in the Developer Dashboard](doc:billing-testing). diff --git a/docs/DEVELOPER/dev-tools/app-tracing.md b/docs/DEVELOPER/dev-tools/app-tracing.md index 7b27a148..343a8f34 100644 --- a/docs/DEVELOPER/dev-tools/app-tracing.md +++ b/docs/DEVELOPER/dev-tools/app-tracing.md @@ -234,7 +234,7 @@ The following examples demonstrate some of the use cases for querying your trace Roku's Perfetto-based app tracing solution exposes a number of terms that Roku developers may be unfamiliar with: -| Term | Defintion | +| Term | Definition | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | SdkLauncher | A Roku OS plugin that provides an environment for running SDK apps in a sandboxed process. | | PR_ui | The main BrightScript thread. | diff --git a/docs/DEVELOPER/dev-tools/index.md b/docs/DEVELOPER/dev-tools/index.md index dbd37489..a4164981 100644 --- a/docs/DEVELOPER/dev-tools/index.md +++ b/docs/DEVELOPER/dev-tools/index.md @@ -44,7 +44,7 @@ Describes each SceneGraph component, defines the relationship between nodes, and ## Development Application Installer -Every Roku device can be configured to support developer tasks such as installing apps, packaging apps, and creating your app's screenshots. The Developmemnt Application Installer enables installing or "sideloading" an app to a Roku device to test and QA before submitting for publication. +Every Roku device can be configured to support developer tasks such as installing apps, packaging apps, and creating your app's screenshots. The Development Application Installer enables installing or "sideloading" an app to a Roku device to test and QA before submitting for publication. ![roku815px - developersettings](https://image.roku.com/ZHZscHItMTc2/developersettings.png "developersettings") diff --git a/docs/DEVELOPER/discovery/instant-signup.md b/docs/DEVELOPER/discovery/instant-signup.md index 6bb7bb05..265c147c 100644 --- a/docs/DEVELOPER/discovery/instant-signup.md +++ b/docs/DEVELOPER/discovery/instant-signup.md @@ -491,7 +491,7 @@ Apps can leverage the [ChannelStore](doc:channelstore) APIs and [Roku Pay web se ... end if - 'check if access token stored in Roku cloud has specifed value + 'check if access token stored in Roku cloud has specified value response = myChannelStore.storeChannelCredDataStatus.response if response.json.channel_data = myChannelStore.channelCredData ... diff --git a/docs/DEVELOPER/getting-started/architecture/dev-environment.md b/docs/DEVELOPER/getting-started/architecture/dev-environment.md index 616f8d43..9c70ee73 100644 --- a/docs/DEVELOPER/getting-started/architecture/dev-environment.md +++ b/docs/DEVELOPER/getting-started/architecture/dev-environment.md @@ -196,7 +196,7 @@ Exit codes do not persist across system reboots and system resumptions. The last | EXIT_CHANNEL_SIDELOAD | The app was exited due to the user installing a sideloaded app. | | EXIT_CHANNEL_RESTART | The app was exited due to an app-initiated restart. This is typically a reserved function in the system. | | EXIT_TILE_HIDDEN | The app was exited due to the user hiding the Soundbar tile on a Roku TV. | -| EXIT_SETTINGS_UPDATE | The app was exited by the system due to a device settings update (for exampe, a theme or resolution change that required restart). | +| EXIT_SETTINGS_UPDATE | The app was exited by the system due to a device settings update (for example, a theme or resolution change that required restart). | | EXIT_CHANNEL_MEM_LIMIT_FG | The app was exited by the system because it exceeded its memory limit while running in the foreground. | | EXIT_CHANNEL_MEM_LIMIT_BG | The app was exited by the system because it exceeded its memory limit while running in the background. | | EXIT_ADDON_DEPENDENCY | The app was exited by the system while applying a system dependency update. This should only apply while running in the background. | diff --git a/docs/DEVELOPER/media-playback/voice-controls/index.md b/docs/DEVELOPER/media-playback/voice-controls/index.md index 1ee10d6c..fd4b62f1 100644 --- a/docs/DEVELOPER/media-playback/voice-controls/index.md +++ b/docs/DEVELOPER/media-playback/voice-controls/index.md @@ -30,8 +30,8 @@ With voice controls, your app can respond to the following types of voice comman For more information on handling basic and enhanced voice controls, see [Implementing voice controls](doc:transport-controls). -> Apps that have streamed more than an average of 5 million hours per month over the last three months must implement all basic, enhanced, and additonal enhanced voice controls to pass [certification](doc:certification). This is also applicable to new apps projected to reach the specified streaming hours threshold shortly after launch. +> Apps that have streamed more than an average of 5 million hours per month over the last three months must implement all basic, enhanced, and additional enhanced voice controls to pass [certification](doc:certification). This is also applicable to new apps projected to reach the specified streaming hours threshold shortly after launch. ## Profile selection -Apps with a profile selection screen can also audibly and visually prompt the viewer to select a user profile and then handle a voice request with the name or position of the selected profile. For more information, see [Selecting user profiles with Roku Voice](doc:voice-profile-selector). \ No newline at end of file +Apps with a profile selection screen can also audibly and visually prompt the viewer to select a user profile and then handle a voice request with the name or position of the selected profile. For more information, see [Selecting user profiles with Roku Voice](doc:voice-profile-selector). diff --git a/docs/DEVELOPER/performance-guide/data-transfer-apis.md b/docs/DEVELOPER/performance-guide/data-transfer-apis.md index 648f1793..6ecb5306 100644 --- a/docs/DEVELOPER/performance-guide/data-transfer-apis.md +++ b/docs/DEVELOPER/performance-guide/data-transfer-apis.md @@ -134,7 +134,7 @@ print my_aa ' contents of aa_field ## Accessing fields by reference -You can access fields by reference instead of copying their values. This is significantly faster than copying; however, you can only do this on the render thread for fields with an associative array type. Access by reference cannot be used when queuing fields, and you must explicity set references before getting them. +You can access fields by reference instead of copying their values. This is significantly faster than copying; however, you can only do this on the render thread for fields with an associative array type. Access by reference cannot be used when queuing fields, and you must explicitly set references before getting them. > **Function references** > @@ -167,7 +167,7 @@ This function returns true if successful; otherwise it return false, indicating #### Description -Indicates whether the **GetRef()** function will succeed in the current context. The **GetRef()** call will only succeed if is called on the render thread and the **SetRef()** function had previoulsy been called on the **field_name**. +Indicates whether the **GetRef()** function will succeed in the current context. The **GetRef()** call will only succeed if is called on the render thread and the **SetRef()** function had previously been called on the **field_name**. The specified **field_name** must be an associative array, and it must have previously been given a value via **SetRef()**. @@ -235,7 +235,7 @@ The **roUtils** component provides a unique namespace for a library of global fu #### Description -Performs a deep copy of the source node object (it copies the obejct and all of its nested objects). If the source object contains items that are not copyable, they are skipped. +Performs a deep copy of the source node object (it copies the object and all of its nested objects). If the source object contains items that are not copyable, they are skipped. #### Parameters diff --git a/docs/DEVELOPER/publishing/channel-publishing-guide.md b/docs/DEVELOPER/publishing/channel-publishing-guide.md index 16c3b472..2f590803 100644 --- a/docs/DEVELOPER/publishing/channel-publishing-guide.md +++ b/docs/DEVELOPER/publishing/channel-publishing-guide.md @@ -155,7 +155,7 @@ Configure how your app is listed in the Streaming Store, including the app's hom Domestic region - Select the country where your app is considered native and/or domestic. Your app will be displayed in the "International" category of all regional Streming Stores that include your app and are outside your domestic region. + Select the country where your app is considered native and/or domestic. Your app will be displayed in the "International" category of all regional Streaming Stores that include your app and are outside your domestic region. diff --git a/docs/DEVELOPER/release-notes/index.md b/docs/DEVELOPER/release-notes/index.md index 108e4c2f..7e504e46 100644 --- a/docs/DEVELOPER/release-notes/index.md +++ b/docs/DEVELOPER/release-notes/index.md @@ -1658,7 +1658,7 @@ We appreciate your support of the Roku platform and always welcome your feedback * Developer controlled HLS stream switching strategies for improved playback ability. * Multiple Grid layouts: flat-movie, flat-portrait, flat-landscape, flat-square, and flat-16x9 -* Developer customized Grid Focused Border image, and Grid Descripton callout box image. +* Developer customized Grid Focused Border image, and Grid Description callout box image. * Use .png and .gif images as Grid posters. * Ability to get the Roku's IPAddress within your app. This will enable the External Control API to be utilized directly within your app. @@ -1706,7 +1706,7 @@ We have maintained backward compatibility with the v2.7 SDK. However, developers If any of your BrightScript code is enabling certain features based on model number, we have a new roDeviceInfo.HasFeature() method that will enable you to code this logic in a more forward-looking manner.If you don't account for the new "Back" and "Info" buttons in your code, users may think your app does not behave correctly. -On most screens, the back button will automatically send an event that matches the isScreenClosed() predicate. However, this behavior would break many modal dialogs that do not expect to receive an isScreenClosed()event because they are waiting for a state change or reacting to user input that must be answered. We chose not to break these apps and instead did not enable the back button by default on the roMessageDialog component. We did provide a method to enable the back button on roMessageDialogs that can successfully handle an isScreenClosed() event. You should survey your app for any roMessageDialog components that should enable the back button with EnableBackButton(true). The "Info" button will enable you to pop-up any screen of your choosing. There are two new events added to support this new button. Events matching isButtonInfo()return the button focus of any on screen buttons in when the Info remote key is pressed. Events matching isListItemInfo()return the index of the focused poster when the Info remote key is pressed. The simpleinfo sample application shows basic support for the "Info" button that also demonstrates an overlay dialog on a poster screen. When isRemoteKey()events are propogated to your script, the event.GetIndex() for the Info key is 10. +On most screens, the back button will automatically send an event that matches the isScreenClosed() predicate. However, this behavior would break many modal dialogs that do not expect to receive an isScreenClosed()event because they are waiting for a state change or reacting to user input that must be answered. We chose not to break these apps and instead did not enable the back button by default on the roMessageDialog component. We did provide a method to enable the back button on roMessageDialogs that can successfully handle an isScreenClosed() event. You should survey your app for any roMessageDialog components that should enable the back button with EnableBackButton(true). The "Info" button will enable you to pop-up any screen of your choosing. There are two new events added to support this new button. Events matching isButtonInfo()return the button focus of any on screen buttons in when the Info remote key is pressed. Events matching isListItemInfo()return the index of the focused poster when the Info remote key is pressed. The simpleinfo sample application shows basic support for the "Info" button that also demonstrates an overlay dialog on a poster screen. When isRemoteKey()events are propagated to your script, the event.GetIndex() for the Info key is 10. ## Roku OS 2.6 @@ -1793,4 +1793,4 @@ The software update options on this screen are controlled via the server and are There are lots of other changes in this release and these are just some highlights that we wanted to specifically mention. Please check the documentation for additional details. -
\ No newline at end of file +
diff --git a/docs/DEVELOPER/roku-pay/implementation/channel-store-1.md b/docs/DEVELOPER/roku-pay/implementation/channel-store-1.md index f2962696..c66ed12c 100644 --- a/docs/DEVELOPER/roku-pay/implementation/channel-store-1.md +++ b/docs/DEVELOPER/roku-pay/implementation/channel-store-1.md @@ -36,7 +36,7 @@ When this command is executed, a Request for Information (RFI) screen is display The [**doOrder** command](doc:channelstore#doorder) completes the transaction for the customer's purchase. -When this command is executed, the Roku Pay order confirmation screen is displayed. This publisher-branded screen summarizes the product being purchased, including the price, product name, and any trial period/discount. It enables the customer to confirm their purchase and update their method of payment if neccessary. +When this command is executed, the Roku Pay order confirmation screen is displayed. This publisher-branded screen summarizes the product being purchased, including the price, product name, and any trial period/discount. It enables the customer to confirm their purchase and update their method of payment if necessary. ![roku815px - img](https://image.roku.com/ZHZscHItMTc2/rsg-channelstore-doorder.jpg) diff --git a/docs/DEVELOPER/roku-pay/implementation/push-notifications.md b/docs/DEVELOPER/roku-pay/implementation/push-notifications.md index 259bdf1b..06396299 100644 --- a/docs/DEVELOPER/roku-pay/implementation/push-notifications.md +++ b/docs/DEVELOPER/roku-pay/implementation/push-notifications.md @@ -169,7 +169,7 @@ Roku Pay sends push notifications for the following transactions: [Cancellation](#cancellation) - A subscription is canceled by the customer, deactivated becuase the customer opted out of automatic renewal, or is passively canceled because payment could not be recovered.

Active cancellations: The **expirationDate** field is set to the current or future date

Deactivations: The **expirationDate** field is set to the decactivation date

Passive cancellations: The **expirationDate** field is set to a past date. + A subscription is canceled by the customer, deactivated becuase the customer opted out of automatic renewal, or is passively canceled because payment could not be recovered.

Active cancellations: The **expirationDate** field is set to the current or future date

Deactivations: The **expirationDate** field is set to the deactivation date

Passive cancellations: The **expirationDate** field is set to a past date. * expirationDate is a future date: no action is required until the expiration date. @@ -523,7 +523,7 @@ The publisher action required (if any) depends on the **expirationDate** field: * **Today's date**: Remove the entitlement (the customer actively canceled the subscription and today is the last day of the billing cycle). * **Past date**: Remove entitlement (passive cancellation; the subscription could not be recovered). -#### Active cancelation/decativation example +#### Active cancelation/deactivation example ```json { diff --git a/docs/DEVELOPER/roku-pay/quickstart/product-catalog.md b/docs/DEVELOPER/roku-pay/quickstart/product-catalog.md index e0aa071f..704d4826 100644 --- a/docs/DEVELOPER/roku-pay/quickstart/product-catalog.md +++ b/docs/DEVELOPER/roku-pay/quickstart/product-catalog.md @@ -216,7 +216,7 @@ To create a purchase option for a product, follow these steps: Billing frequency - Select the billing period to be used for the subscription product: monthly, quarterly, or annual. Using quartely billing requires [additional API work](doc:add-ons-integration#appendix-a-add-on-api-reference). + Select the billing period to be used for the subscription product: monthly, quarterly, or annual. Using quarterly billing requires [additional API work](doc:add-ons-integration#appendix-a-add-on-api-reference). Regular price @@ -254,7 +254,7 @@ Each set of _mutually exclusive_ subscription products must be added to a produc * **Double billing**. If an app has two in-app products for the same monthly subscription but with different free trial durations, these two products must be added to the same product group to prevent the customer from paying for two separate monthly subscriptions. -From the customer's perspective, if they try to purchase a subscription product when they already have one in the same product group, Roky Pay displays a "You're already subscribed to this channel" dialog. +From the customer's perspective, if they try to purchase a subscription product when they already have one in the same product group, Roku Pay displays a "You're already subscribed to this channel" dialog. ![roku815px - already-subscribed](https://image.roku.com/ZHZscHItMTc2/already-subscribed.jpg) @@ -372,7 +372,7 @@ Before you archive a purchase option, notify existing subscribers that their sub You can create limited-time offers to provide customers with a free trial or introductory pricing for a specific period of time (for example, a New Year's promotion for the first two weeks of January). When a new customer subscribes to a product during an active limited-time offer, the customer receives that offer (a limited-time offer takes precedence over the base offer). If no limited-time offer is active, the customer receives the base offer. Customers may only ever receive a single free trial or discount offer for a subscription product, and they may only receive an offer that was made and accepted. -To create a lmited-time offer, follow these steps: +To create a limited-time offer, follow these steps: 1. From the **Purchase options** tab, click the action button for the purchase option, and then click **Add a limited-time offer** on the shortcut menu. Alternatively, click the purchase option row to open the purchase option's details page, and then click **Add limited-time offer** under the **Billing plan** section. diff --git a/docs/DEVELOPER/roku-pay/subscription-recovery/basic-recovery.md b/docs/DEVELOPER/roku-pay/subscription-recovery/basic-recovery.md index faffd65f..8ca922ec 100644 --- a/docs/DEVELOPER/roku-pay/subscription-recovery/basic-recovery.md +++ b/docs/DEVELOPER/roku-pay/subscription-recovery/basic-recovery.md @@ -10,7 +10,7 @@ metadata: next: description: '' --- -When payment for a subscription auto-renewal fails, Roku's basic subscription recovery feature gives customers a 3-day grace period where they can continue accessing content, while Roku Pay notifies them daily via email to update their method of payment (MOP). Once the 3-day grace period expires, the subscription is canceled. This solution helps the publisher improve the chance of recovering payments and thereby reduce passive cancelations. +When payment for a subscription auto-renewal fails, Roku's basic subscription recovery feature gives customers a 3-day grace period where they can continue accessing content, while Roku Pay notifies them daily via email to update their method of payment (MOP). Once the 3-day grace period expires, the subscription is canceled. This solution helps the publisher improve the chance of recovering payments and thereby reduce passive cancellations. > Effective October 1, 2024, all apps using Roku Pay must implement Enhanced Subscription Recovery to pass [certification](doc:roku-pay-requirements#rp-4-authentication-and-entitlement-requirements). As a result, apps using basic subscription recovery solution must migrate to [Enhanced Subscription Recovery](doc:subscription-on-hold). diff --git a/docs/FEATURES/analytics/index.md b/docs/FEATURES/analytics/index.md index 1dd4f594..7531b788 100644 --- a/docs/FEATURES/analytics/index.md +++ b/docs/FEATURES/analytics/index.md @@ -146,7 +146,7 @@ You can create a schedule to automatically email a report in a recurring daily, Destination - Select one of the following destinations to send the report:The SFTP, S3, and Webhook options enable you to create automation pipelines for ingesting Roku analytics into your backend systems. + Select one of the following destinations to send the report:The SFTP, S3, and Webhook options enable you to create automation pipelines for ingesting Roku analytics into your backend systems. Format diff --git a/docs/FEATURES/dashboard/user-access-management.md b/docs/FEATURES/dashboard/user-access-management.md index 63c228d4..37080671 100644 --- a/docs/FEATURES/dashboard/user-access-management.md +++ b/docs/FEATURES/dashboard/user-access-management.md @@ -108,7 +108,7 @@ Roku developer accounts can have the following roles and permissions:
  • Static Analysis
  • Submit for publishing
  • Search feeds (validate, submit, and manage)
  • -

    Select one or more apps from the drop-down list. You can filter the list of apps as you enter the app name. Click Select all to grant the user access to the managment and publishing features for all existing apps (as you create new apps, you will need to manually add them to grant access). +

    Select one or more apps from the drop-down list. You can filter the list of apps as you enter the app name. Click Select all to grant the user access to the management and publishing features for all existing apps (as you create new apps, you will need to manually add them to grant access). App diff --git a/docs/REFERENCES/brightscript/events/roaudioplayerevent.md b/docs/REFERENCES/brightscript/events/roaudioplayerevent.md index 3820fc90..b86c14d0 100644 --- a/docs/REFERENCES/brightscript/events/roaudioplayerevent.md +++ b/docs/REFERENCES/brightscript/events/roaudioplayerevent.md @@ -73,7 +73,7 @@ Specific information about the event can be obtained by calling the GetMessages( #### GetMessage() as String -Returns a description of the message (for exampe, "Format Detected"). +Returns a description of the message (for example, "Format Detected"). #### GetInfo() as Object diff --git a/docs/REFERENCES/brightscript/interfaces/iffont.md b/docs/REFERENCES/brightscript/interfaces/iffont.md index 785e7fda..6a4b6c24 100644 --- a/docs/REFERENCES/brightscript/interfaces/iffont.md +++ b/docs/REFERENCES/brightscript/interfaces/iffont.md @@ -21,9 +21,9 @@ next: ### GetOneLineHeight() as Integer -| Name | Type | Possible Values | Description | -| ---------------- | ------- | --------------------------- | ---------------------------------------------------------------------------------- | -| GetOneLineHeight | Integer | Number of pixels) as Intger | Returns the number of pixels from one line to the next when drawing with this font | +| Name | Type | Possible Values | Description | +| ---------------- | ------- | --------------------------- | ---------------------------------------------------------------------------------- | +| GetOneLineHeight | Integer | Number of pixels) as Integer | Returns the number of pixels from one line to the next when drawing with this font | ### GetOneLineWidth(text as String, MaxWidth as Integer) as Integer diff --git a/docs/REFERENCES/brightscript/interfaces/iflongint.md b/docs/REFERENCES/brightscript/interfaces/iflongint.md index 60c3a769..8005ea3f 100644 --- a/docs/REFERENCES/brightscript/interfaces/iflongint.md +++ b/docs/REFERENCES/brightscript/interfaces/iflongint.md @@ -29,7 +29,7 @@ Gets the longinteger value stored in the calling Longinteger object. #### Return Value -The longinteger value stored in the calling Loninteger object. +The longinteger value stored in the calling Longinteger object. ### SetLongInt(value As LongInteger) As Void diff --git a/docs/REFERENCES/brightscript/interfaces/ifsgnodefield.md b/docs/REFERENCES/brightscript/interfaces/ifsgnodefield.md index 1c2bdb6e..9d8995e9 100644 --- a/docs/REFERENCES/brightscript/interfaces/ifsgnodefield.md +++ b/docs/REFERENCES/brightscript/interfaces/ifsgnodefield.md @@ -514,7 +514,7 @@ _Available since [Roku OS 15.0](doc:release-notes#roku-os-150)_ #### Description -Indicates whether the **GetRef()** function will succeed in the current context. The **GetRef()** call will only succeed if is called on the render thread and the **SetRef()** function had previoulsy been called on the **field_name**. +Indicates whether the **GetRef()** function will succeed in the current context. The **GetRef()** call will only succeed if is called on the render thread and the **SetRef()** function had previously been called on the **field_name**. The specified **field_name** must be an associative array, and it must have previously been given a value via **SetRef()**. diff --git a/docs/REFERENCES/brightscript/interfaces/iftexturemanager.md b/docs/REFERENCES/brightscript/interfaces/iftexturemanager.md index 65adb761..63d339f1 100644 --- a/docs/REFERENCES/brightscript/interfaces/iftexturemanager.md +++ b/docs/REFERENCES/brightscript/interfaces/iftexturemanager.md @@ -43,7 +43,7 @@ Cancels the request specified by req, which should be an roTextureRequest previo | Name | Type | Description | | ---- | ------- | -------------- | -| req | Object | The previoulsy passed roTextureRequest to be cancelled. | +| req | Object | The previously passed roTextureRequest to be cancelled. | ### UnloadBitmap(url as String) as Void @@ -61,4 +61,4 @@ Removes a bitmap from the roTextureManager with the specified URL. #### Description -Removes all bitmaps from the roTextureManager. \ No newline at end of file +Removes all bitmaps from the roTextureManager. diff --git a/docs/REFERENCES/brightscript/interfaces/ifutils.md b/docs/REFERENCES/brightscript/interfaces/ifutils.md index 068cf47b..cc3fd977 100644 --- a/docs/REFERENCES/brightscript/interfaces/ifutils.md +++ b/docs/REFERENCES/brightscript/interfaces/ifutils.md @@ -24,7 +24,7 @@ _Available since [Roku OS 15.0](doc:release-notes#roku-os-150)_ #### Description -Performs a deep copy of a node object (it copies the obejct and all of its nested objects). If the object contains items that are not copyable, they are skipped. +Performs a deep copy of a node object (it copies the object and all of its nested objects). If the object contains items that are not copyable, they are skipped. #### Parameters diff --git a/docs/REFERENCES/scenegraph/dialog-nodes/keyboarddialog.md b/docs/REFERENCES/scenegraph/dialog-nodes/keyboarddialog.md index be03e5d4..7a550cd1 100644 --- a/docs/REFERENCES/scenegraph/dialog-nodes/keyboarddialog.md +++ b/docs/REFERENCES/scenegraph/dialog-nodes/keyboarddialog.md @@ -22,11 +22,11 @@ next: Extends [**Dialog**](doc:dialog) -The KeyboardDialog node class is a special type of Dialog node that prompts the user to enter an alphanumeric text string. The KeyboardDialog node class includes an interrnal Keyboard node to allow the user to enter the string. +The KeyboardDialog node class is a special type of Dialog node that prompts the user to enter an alphanumeric text string. The KeyboardDialog node class includes an internal Keyboard node to allow the user to enter the string. The KeyboardDialog allows you to add a title (by setting the Dialog title field), a help message (by setting the Dialog message field), and a set of action buttons (by setting the Dialog node buttons field). The bulletText and graphicUrl fields of the Dialog node should not be set. If those Dialog node fields are set, the layout of the dialog will likely not look correct. -Also, the KeyboardDialog node class inherits the behavior of the interrnal [Keyboard](doc:keyboard) node when the Options remote key is pressed. The Keyboard node class toggles between uppercase and lowercase letters when the Options remote key is pressed, to speed the entry of mixed-case strings by the user. Therefore, the optionsDialog field of the Dialog node class should not be set to true. +Also, the KeyboardDialog node class inherits the behavior of the internal [Keyboard](doc:keyboard) node when the Options remote key is pressed. The Keyboard node class toggles between uppercase and lowercase letters when the Options remote key is pressed, to speed the entry of mixed-case strings by the user. Therefore, the optionsDialog field of the Dialog node class should not be set to true. Typically, you will want to set the KeyboardDialog node title field to prompt the user to enter the string, and add "OK" and "Cancel" buttons by setting the Dialog node buttons field to [ "OK", "Cancel" ], then observe the Dialog node class buttonSelected field to react when the user presses one of those buttons. At any time, the text field can be accessed to obtain the string entered by the user. diff --git a/docs/REFERENCES/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md b/docs/REFERENCES/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md index 9c9b084a..00d981a3 100644 --- a/docs/REFERENCES/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md +++ b/docs/REFERENCES/scenegraph/dynamic-voice-keyboard-nodes/voice-text-edit-box.md @@ -44,7 +44,7 @@ The **VoiceTextEditBox** node is similar to the [legacy **TextEditBox** node](do float FHD: 321HD: 214 READ_WRITE -The maximum width of the voice hint tootip. The height scales based on the specified width. +The maximum width of the voice hint tooltip. The height scales based on the specified width. voiceEntryType diff --git a/docs/REFERENCES/scenegraph/list-and-grid-nodes/zoomrowlist.md b/docs/REFERENCES/scenegraph/list-and-grid-nodes/zoomrowlist.md index 18fe7484..952dfa77 100644 --- a/docs/REFERENCES/scenegraph/list-and-grid-nodes/zoomrowlist.md +++ b/docs/REFERENCES/scenegraph/list-and-grid-nodes/zoomrowlist.md @@ -572,7 +572,7 @@ Note that the fields are updated in the order presented in the table below. Most Field Name Field Type -Access Permisson +Access Permission Description @@ -631,4 +631,4 @@ Note that the fields are updated in the order presented in the table below. Most ## Sample app -[zoomRowListDefaultLayoutTest](https://github.com/rokudev/samples/tree/master/ux%20components/lists%20and%20grids/zoomRowListDefaultLayoutTest) is a sample app demonstrating the ZoomRowList in action. \ No newline at end of file +[zoomRowListDefaultLayoutTest](https://github.com/rokudev/samples/tree/master/ux%20components/lists%20and%20grids/zoomRowListDefaultLayoutTest) is a sample app demonstrating the ZoomRowList in action. diff --git a/docs/REFERENCES/scenegraph/media-playback-nodes/video.md b/docs/REFERENCES/scenegraph/media-playback-nodes/video.md index cb7213cb..4c5a1c17 100644 --- a/docs/REFERENCES/scenegraph/media-playback-nodes/video.md +++ b/docs/REFERENCES/scenegraph/media-playback-nodes/video.md @@ -95,7 +95,7 @@ The `control` field includes a `prebuffer` option, which allows the video to beg boolean false WRITE - Indicates whether the "STOP" command is executed asynchronously (true) or synchronously (false).

    By default, the STOP command is executed synchronously, which blocks the UI thread. Enabling this field makes the STOP command non-blocking, which enables the video to be switched faster.

    When this field is enabled, the state field is set to "stopping" when the asynnchronous stop begins. The state field then changes to "stopped" once the stop has been completed.

    Any other media player component calls on the UI thread that require the Video node to be re-instantiated should be blocked until the asynnchronous stop has been completed (for example, updating the control field to "Play" or "Prebuffer" or updating the seek field). This is because a video node in the "stopping" state is still using the underlying media player, which is not available at that time. As a result, performing these types of operations on a different video while in the "stopping" state may result in a playback failure. + Indicates whether the "STOP" command is executed asynchronously (true) or synchronously (false).

    By default, the STOP command is executed synchronously, which blocks the UI thread. Enabling this field makes the STOP command non-blocking, which enables the video to be switched faster.

    When this field is enabled, the state field is set to "stopping" when the asynchronous stop begins. The state field then changes to "stopped" once the stop has been completed.

    Any other media player component calls on the UI thread that require the Video node to be re-instantiated should be blocked until the asynchronous stop has been completed (for example, updating the control field to "Play" or "Prebuffer" or updating the seek field). This is because a video node in the "stopping" state is still using the underlying media player, which is not available at that time. As a result, performing these types of operations on a different video while in the "stopping" state may result in a playback failure. state diff --git a/docs/REFERENCES/scenegraph/sliding-panels-nodes/gridpanel.md b/docs/REFERENCES/scenegraph/sliding-panels-nodes/gridpanel.md index c47dbf31..cc8ef23c 100644 --- a/docs/REFERENCES/scenegraph/sliding-panels-nodes/gridpanel.md +++ b/docs/REFERENCES/scenegraph/sliding-panels-nodes/gridpanel.md @@ -89,7 +89,7 @@ For efficiency, sometimes the control logic for the GridPanel may create and hol Node false WRITE_ONLY -When the createNextPanelOnItemFocus field is true, the nextPanel field should be set to a Panel node to the next panel to add to the PanelSet in response to the createNextPanelIndex field being set. It must be set immediately in repsonse to the createNextPanelIndex field being set. +When the createNextPanelOnItemFocus field is true, the nextPanel field should be set to a Panel node to the next panel to add to the PanelSet in response to the createNextPanelIndex field being set. It must be set immediately in response to the createNextPanelIndex field being set. createNextPanelOnItemFocus @@ -114,4 +114,4 @@ m.top.grid = grid If the grid's data includes sections and the GridPanel's showSectionLabel's field is set to true, the title field of the section's ContentNode will be used as the text for the left label of the GridPanel. ## Sample app -[GridPanelExample](https://github.com/rokudev/samples/tree/master/ux%20components/sliding%20panels/GridPanelExample) is a sample app demonstrating GridPanel in action. \ No newline at end of file +[GridPanelExample](https://github.com/rokudev/samples/tree/master/ux%20components/sliding%20panels/GridPanelExample) is a sample app demonstrating GridPanel in action. diff --git a/docs/REFERENCES/scenegraph/sliding-panels-nodes/listpanel.md b/docs/REFERENCES/scenegraph/sliding-panels-nodes/listpanel.md index 89f64d16..408b5be9 100644 --- a/docs/REFERENCES/scenegraph/sliding-panels-nodes/listpanel.md +++ b/docs/REFERENCES/scenegraph/sliding-panels-nodes/listpanel.md @@ -97,7 +97,7 @@ If you set the list field to a MarkupList node, because the MarkupList is by nat Node false WRITE_ONLY -When the createNextPanelOnItemFocus field is true, the nextPanel field should be set to a Panel node to the next panel to add to the PanelSet in response to the createNextPanelIndex field being set. It must be set immediately in repsonse to the createNextPanelIndex field being set. +When the createNextPanelOnItemFocus field is true, the nextPanel field should be set to a Panel node to the next panel to add to the PanelSet in response to the createNextPanelIndex field being set. It must be set immediately in response to the createNextPanelIndex field being set. createNextPanelOnItemFocus @@ -123,4 +123,4 @@ m.top.list = list If the list's data includes sections and the ListPanel's showSectionLabel's field is set to true, the title field of the section's ContentNode will be used as the text for the left label of the ListPanel. ## Sample app -[ListPanelExample](https://github.com/rokudev/samples/tree/master/ux%20components/sliding%20panels/ListPanelExample) is a sample app demonstrating ListPanel in action. \ No newline at end of file +[ListPanelExample](https://github.com/rokudev/samples/tree/master/ux%20components/sliding%20panels/ListPanelExample) is a sample app demonstrating ListPanel in action. diff --git a/docs/REFERENCES/scenegraph/typographic-nodes/scrollabletext.md b/docs/REFERENCES/scenegraph/typographic-nodes/scrollabletext.md index c54e4523..15814768 100644 --- a/docs/REFERENCES/scenegraph/typographic-nodes/scrollabletext.md +++ b/docs/REFERENCES/scenegraph/typographic-nodes/scrollabletext.md @@ -66,7 +66,7 @@ In most cases, the vertAlign field should remain set to top. | lineSpacing | float | 8 | READ_WRITE | If the text is displayed on more than one line, specifies the amount of additional space added between lines | | horizAlign | string | left | READ_WRITE | See [Horizontal Alignment](doc:scrollinglabel) | | vertAlign | string | top | READ_WRITE | See [Vertical Alignment](doc:scrollinglabel) | -| scrollbarTrackBitmapUri | string | "" | READ_WRITE | Specifies the URI of an image file to be loaded to replace the default scrollbar track. This should be a 9-patch image so that it can be stretched to the appropriate height specifed by the height field | +| scrollbarTrackBitmapUri | string | "" | READ_WRITE | Specifies the URI of an image file to be loaded to replace the default scrollbar track. This should be a 9-patch image so that it can be stretched to the appropriate height specified by the height field | | scrollbarThumbBitmapUri | string | "" | READ_WRITE | Specifies the URI of an image file to be loaded to replace the default scrollbar thumb. This should be a 9-patch image so that it can be stretched to the appropriate size | ## Sample app diff --git a/docs/REFERENCES/scenegraph/widget-nodes/parentalcontrolpinpad.md b/docs/REFERENCES/scenegraph/widget-nodes/parentalcontrolpinpad.md index 731df718..345ff509 100644 --- a/docs/REFERENCES/scenegraph/widget-nodes/parentalcontrolpinpad.md +++ b/docs/REFERENCES/scenegraph/widget-nodes/parentalcontrolpinpad.md @@ -167,7 +167,7 @@ ParentalControlPinPad includes a new field, pinSuccess for blocking content: "" - Specifed the URI of an image file to be loaded to replace the default box drawn underneath each entered digit in the pin display. This should be a 9-patch image so that it can be stretched to appropriate size depending on the pinLength field. + Specified the URI of an image file to be loaded to replace the default box drawn underneath each entered digit in the pin display. This should be a 9-patch image so that it can be stretched to appropriate size depending on the pinLength field. diff --git a/docs/REFERENCES/scenegraph/widget-nodes/pinpad.md b/docs/REFERENCES/scenegraph/widget-nodes/pinpad.md index 3ee662ed..6f4bf817 100644 --- a/docs/REFERENCES/scenegraph/widget-nodes/pinpad.md +++ b/docs/REFERENCES/scenegraph/widget-nodes/pinpad.md @@ -45,7 +45,7 @@ When creating your own keyboard background artwork, you must maintain the size o | focusedKeyColor | color | 0xffffffff | READ_WRITE | Specifies the color of the key labels and icons when the keyboard has the focus | | pinDisplayTextColor | color | 0xffffffff | READ_WRITE | Specifies the color of the numbers displayed in the pin display boxes | | keyboardBitmapUri | string | "" | READ_WRITE | Specifies the URI of an image file to be loaded to replace the default keyboard image drawn underneath the numeric keys and icons
    This image must be carefully designed so that the key positions match the default image. Template images for SD, HD and FHD resolutions are provided below.
    | -| pinDisplayBitmapUri | string | "" | READ_WRITE | Specifed the URI of an image file to be loaded to replace the default box drawn underneath each entered digit in the pin display. This should be a 9-patch image so that it can be stretched to appropriate size depending on the pinLength field | +| pinDisplayBitmapUri | string | "" | READ_WRITE | Specified the URI of an image file to be loaded to replace the default box drawn underneath each entered digit in the pin display. This should be a 9-patch image so that it can be stretched to appropriate size depending on the pinLength field | | focusBitmapUri | string | "" | READ_WRITE | Specifies the URI of an image file to be loaded to replace the keyboard focus indicator. This should be a 9-patch image so that it can be stretched to the appropriate size for the double width keys | | showPinDisplay | boolean | true | READ_WRITE | Specifies whether or not the pin display that shows the entered digits is visible. In most cases, it is desirable to display the entered digits so that the user can see the string as it is entered.
    You may want to only show the keyboard part of the PinPad node. In those cases, the pin field of the node will still contain the string entered by the user, so that it can displayed in some different manner.
    | | itemFocused | integer | 0 | READ_WRITE | Specifies index of the key label that will be in focus when PinPad is created |