Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: processing/processing4
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: processing-1301-4.4.1
Choose a base ref
...
head repository: processing/processing4
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Mar 6, 2025

  1. Copy the full SHA
    bebf792 View commit details

Commits on Mar 7, 2025

  1. feat: Add handleMoveLines method with keystroke support and ActionLis…

    …teners
    
    - Implement handleMoveLines to manage line movement functionality
    - Add keystroke bindings for triggering line movements
    - Integrate ActionListeners for responsive UI interactions
    - Ensure cross-platform compatibility for macOS and Linux
    yehiarasheed committed Mar 7, 2025
    Copy the full SHA
    34cc438 View commit details
  2. Fix selection bug in handleMoveLines on macOS by using invokeLater()

    Previously, moving lines down on macOS caused incorrect selection, moving
    the cursor to the end of the enclosing braces instead of properly selecting the moved line. This issue did not occur on Windows.
    
    The fix ensures that selection updates happen inside Swing's event
    dispatch thread by wrapping the selection logic in SwingUtilities.invokeLater().
    This guarantees proper selection behavior across all platforms.
    
    Additionally, updated the JavaDoc for the method to reflect the fix and clarify
    the behavior of the selection update.
    
    Tested on Windows and macOS.
    yehiarasheed committed Mar 7, 2025
    Copy the full SHA
    938109d View commit details
  3. Update JavaDoc to clarify redo keybinding on macOS

    Updated the JavaDoc to reflect that the redo command on macOS is {@code Shift + Cmd + Z},
    not {@code Cmd + Y}, and may vary on other platforms. This ensures the documentation is
    accurate and aligns with the actual keybindings.
    
    No functional code changes were made.
    yehiarasheed committed Mar 7, 2025
    Copy the full SHA
    77b354d View commit details

Commits on Mar 8, 2025

  1. added keyEvent tests

    Rishab87 committed Mar 8, 2025
    Copy the full SHA
    801b02b View commit details
  2. minor changes

    Rishab87 committed Mar 8, 2025
    Copy the full SHA
    be9e6b8 View commit details

Commits on Mar 10, 2025

  1. Improved line moving functionality in Editor

    - Updated line moving logic to select until the end of the line only, avoiding selection of the new line character.
    - Added functionality to move lines without selecting anything if no text is selected.
    yehiarasheed committed Mar 10, 2025
    Copy the full SHA
    07b5c8c View commit details

Commits on Mar 11, 2025

  1. Copy the full SHA
    bb80a78 View commit details
  2. Fixed keyboard shortcut issue on all platforms, re-implemented manual…

    … shortcut registration. Added alternative shortcut handling for Move Lines functionality.
    yehiarasheed committed Mar 11, 2025
    Copy the full SHA
    ab31897 View commit details

Commits on Mar 13, 2025

  1. Copy the full SHA
    7c42504 View commit details
  2. Refactor code style to comply with style guidelines: removed unnecess…

    …ary whitespace and added two blank lines between function blocks for improved readability.
    yehiarasheed authored Mar 13, 2025
    Copy the full SHA
    44788e3 View commit details
  3. Update code style: added space after 'if' before the condition to com…

    …ply with style guidelines.
    yehiarasheed authored Mar 13, 2025
    Copy the full SHA
    3482853 View commit details
  4. Copy the full SHA
    3e6d159 View commit details
  5. fixes 779

    Rishab87 committed Mar 13, 2025
    Copy the full SHA
    e6ac72b View commit details

Commits on Mar 14, 2025

  1. minor changes

    Rishab87 committed Mar 14, 2025
    Copy the full SHA
    bafcd54 View commit details

Commits on Mar 16, 2025

  1. Copy the full SHA
    155fa15 View commit details

Commits on Mar 20, 2025

  1. added unit tests for PVector

    Rishab87 committed Mar 20, 2025
    Copy the full SHA
    df8b732 View commit details
  2. Copy the full SHA
    694eb0c View commit details

Commits on Mar 21, 2025

  1. Merge pull request #972 from Rishab87/blur-filter-exception

    Fixed blur filter throwing exception for too large values relative to image
    SableRaf authored Mar 21, 2025
    Copy the full SHA
    ff78d90 View commit details
  2. Merge pull request #966 from Rishab87/unit-tests-key-event

    Added unit tests for handling key events in ```processing:core```
    SableRaf authored Mar 21, 2025
    Copy the full SHA
    0ace796 View commit details
  3. Merge pull request #964 from yehiarasheed/yehiarasheed-add-movelines

    [feat] Introduce Move Lines Feature, Fix Selection Bug on macOS, and Update JavaDoc
    SableRaf authored Mar 21, 2025
    Copy the full SHA
    2cb5571 View commit details
  4. Copy the full SHA
    16c951d View commit details
  5. Copy the full SHA
    3f3890b View commit details
  6. Copy the full SHA
    95d022f View commit details
  7. Copy the full SHA
    482e7bc View commit details
  8. Merge pull request #997 from processing/all-contributors/add-Rishab87

    docs: add Rishab87 as a contributor for code
    SableRaf authored Mar 21, 2025
    Copy the full SHA
    b450948 View commit details

Commits on Mar 22, 2025

  1. Copy the full SHA
    46fa74b View commit details
  2. Merge pull request #996 from processing/all-contributors/add-yehiaras…

    …heed
    
    docs: add yehiarasheed as a contributor for code
    SableRaf authored Mar 22, 2025
    Copy the full SHA
    9760a63 View commit details
  3. Copy the full SHA
    94230b4 View commit details

Commits on Mar 24, 2025

  1. Copy the full SHA
    6be6787 View commit details
  2. Copy the full SHA
    cd6cfd9 View commit details
  3. Moved version indicator

    Stefterv committed Mar 24, 2025
    Copy the full SHA
    54fb6a9 View commit details
  4. Copy the full SHA
    165dab6 View commit details
  5. Merge pull request #1000 from babaissarkar/theme-line-numbers-contras…

    …t-fix
    
    increase contrast of line numbers
    Stefterv authored Mar 24, 2025
    Copy the full SHA
    6ccf5b9 View commit details
  6. Merge pull request #954 from Rishab87/unexpected-y-axis

    Fixed unexpected Y-axis translation when using ```ortho()``` and ```resetMatrix()```
    Stefterv authored Mar 24, 2025
    Copy the full SHA
    9cd63b6 View commit details
  7. Merge pull request #999 from processing/added-ways-to-contribute

    Update CONTRIBUTING.md with more ways to contribute
    SableRaf authored Mar 24, 2025
    Copy the full SHA
    88f2a82 View commit details
  8. Copy the full SHA
    05d89d7 View commit details
  9. Visual fixes for Linux

    Stefterv committed Mar 24, 2025
    Copy the full SHA
    ae1bbad View commit details
  10. Copy the full SHA
    235de47 View commit details
  11. Copy the full SHA
    29a019a View commit details
  12. Copy the full SHA
    8ee7127 View commit details
  13. Improve guidance for new contributors

    Clearer, updated, and more structured guidance for new contributors. Changes are based—in part—on the [p5.js contributor guidelines](https://p5js.org/contribute/contributor_guidelines/).
    SableRaf authored Mar 24, 2025
    Copy the full SHA
    6475f18 View commit details
  14. Copy the full SHA
    8fb9ef5 View commit details

Commits on Mar 25, 2025

  1. Copy the full SHA
    4d229a8 View commit details
  2. Merge pull request #1009 from processing/update-contributor-guidelines

    Improve guidance for new contributors
    SableRaf authored Mar 25, 2025
    Copy the full SHA
    e12195e View commit details
  3. Small formatting fix

    SableRaf authored Mar 25, 2025
    Copy the full SHA
    fa2338c View commit details
  4. Merge pull request #1010 from processing/format-fix-build

    Small formatting fix
    SableRaf authored Mar 25, 2025
    Copy the full SHA
    81d5127 View commit details
  5. Copy the full SHA
    1a0e52a View commit details

Commits on Mar 26, 2025

  1. Copy the full SHA
    df99446 View commit details
  2. Copy the full SHA
    56fe1de View commit details
Showing with 1,594 additions and 331 deletions.
  1. +56 −0 .all-contributorsrc
  2. BIN .github/media/troubleshooting-Intellij-download-jdk.png
  3. BIN .github/media/troubleshooting-Intellij-setting-djk-version-manually.png
  4. +37 −1 BUILD.md
  5. +94 −34 CONTRIBUTING.md
  6. +18 −6 README.md
  7. +10 −1 SCHEMA.md
  8. +91 −97 app/build.gradle.kts
  9. +74 −0 app/src/main/resources/about-processing.svg
  10. +23 −0 app/src/main/resources/processing/app/laf/FlatLaf.properties
  11. +40 −12 app/src/processing/app/Base.java
  12. +4 −7 app/src/processing/app/Platform.java
  13. +90 −0 app/src/processing/app/Processing.kt
  14. +17 −5 app/src/processing/app/Schema.kt
  15. +5 −0 app/src/processing/app/platform/LinuxPlatform.java
  16. +2 −0 app/src/processing/app/syntax/JEditTextArea.java
  17. +35 −24 app/src/processing/app/tools/InstallCommander.java
  18. +155 −7 app/src/processing/app/ui/Editor.java
  19. +42 −1 app/src/processing/app/ui/EditorFooter.java
  20. +8 −3 app/src/processing/app/ui/ExamplesFrame.java
  21. +4 −8 app/src/processing/app/ui/Start.kt
  22. +11 −1 app/test/processing/app/SchemaTest.kt
  23. BIN build/shared/lib/about-processing.png
  24. +8 −0 build/shared/lib/languages/PDE.properties
  25. +3 −3 build/shared/lib/theme/Alloys/agpalilik.txt
  26. +3 −3 build/shared/lib/theme/Alloys/armanty.txt
  27. +3 −3 build/shared/lib/theme/Alloys/bacubirito.txt
  28. +3 −3 build/shared/lib/theme/Alloys/bondoc.txt
  29. +3 −3 build/shared/lib/theme/Alloys/brahin.txt
  30. +4 −4 build/shared/lib/theme/Alloys/esquel.txt
  31. +3 −3 build/shared/lib/theme/Alloys/gancedo.txt
  32. +3 −3 build/shared/lib/theme/Alloys/hoba.txt
  33. +3 −3 build/shared/lib/theme/Alloys/imilac.txt
  34. +4 −4 build/shared/lib/theme/Alloys/jepara.txt
  35. +3 −3 build/shared/lib/theme/Alloys/mbozi.txt
  36. +3 −3 build/shared/lib/theme/Alloys/morito.txt
  37. +3 −3 build/shared/lib/theme/Alloys/omolon.txt
  38. +3 −3 build/shared/lib/theme/Alloys/seymchan.txt
  39. +3 −3 build/shared/lib/theme/Alloys/tagish.txt
  40. +4 −4 build/shared/lib/theme/Alloys/youxi.txt
  41. +3 −3 build/shared/lib/theme/Minerals/antimony.txt
  42. +3 −3 build/shared/lib/theme/Minerals/bauxite.txt
  43. +3 −3 build/shared/lib/theme/Minerals/beryl.txt
  44. +3 −3 build/shared/lib/theme/Minerals/calcite.txt
  45. +3 −3 build/shared/lib/theme/Minerals/feldspar.txt
  46. +3 −3 build/shared/lib/theme/Minerals/fluorite.txt
  47. +3 −3 build/shared/lib/theme/Minerals/gabbro.txt
  48. +3 −3 build/shared/lib/theme/Minerals/galena.txt
  49. +4 −4 build/shared/lib/theme/Minerals/garnet.txt
  50. +4 −4 build/shared/lib/theme/Minerals/jasper.txt
  51. +4 −4 build/shared/lib/theme/Minerals/kyanite.txt
  52. +3 −3 build/shared/lib/theme/Minerals/malachite.txt
  53. +3 −3 build/shared/lib/theme/Minerals/olivine.txt
  54. +3 −3 build/shared/lib/theme/Minerals/orpiment.txt
  55. +3 −3 build/shared/lib/theme/Minerals/pyrite.txt
  56. +3 −3 build/shared/lib/theme/Minerals/serandite.txt
  57. +14 −1 core/examples/src/main/java/Basic.java
  58. +9 −3 core/src/processing/core/PApplet.java
  59. +5 −5 core/src/processing/core/PGraphics.java
  60. +17 −11 core/src/processing/core/PImage.java
  61. +140 −0 core/test/processing/core/PAppletKeyEventTest.java
  62. +186 −0 core/test/processing/core/PMatrix2DTest.java
  63. +294 −0 core/test/processing/core/PVectorTest.java
  64. +1 −0 gradle/libs.versions.toml
  65. +1 −1 java/libraries/svg/build.xml
  66. +1 −1 java/src/processing/mode/java/lsp/PdeLanguageServer.java
56 changes: 56 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
@@ -1465,6 +1465,62 @@
"contributions": [
"code"
]
},
{
"login": "Rishab87",
"name": "Rishab Kumar Jha",
"avatar_url": "https://avatars.githubusercontent.com/u/138858208?v=4",
"profile": "https://github.com/Rishab87",
"contributions": [
"code"
]
},
{
"login": "yehiarasheed",
"name": "Yehia Rasheed",
"avatar_url": "https://avatars.githubusercontent.com/u/157399068?v=4",
"profile": "https://github.com/yehiarasheed",
"contributions": [
"code"
]
},
{
"login": "babaissarkar",
"name": "Subhraman Sarkar",
"avatar_url": "https://avatars.githubusercontent.com/u/8469888?v=4",
"profile": "https://github.com/babaissarkar",
"contributions": [
"code",
"a11y"
]
},
{
"login": "SushantBansal-tech",
"name": "SushantBansal-tech",
"avatar_url": "https://avatars.githubusercontent.com/u/189839531?v=4",
"profile": "https://github.com/SushantBansal-tech",
"contributions": [
"ideas",
"code"
]
},
{
"login": "Konsl",
"name": "Konsl",
"avatar_url": "https://avatars.githubusercontent.com/u/82901383?v=4",
"profile": "https://github.com/Konsl",
"contributions": [
"doc"
]
},
{
"login": "marioguzzzman",
"name": "Mario Guzman",
"avatar_url": "https://avatars.githubusercontent.com/u/7597610?v=4",
"profile": "http://www.mario-guzman.com",
"contributions": [
"doc"
]
}
],
"repoType": "github",
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 37 additions & 1 deletion BUILD.md
Original file line number Diff line number Diff line change
@@ -8,6 +8,8 @@ First, [download the IntelliJ IDEA Community Edition](https://www.jetbrains.com/

1. Clone the Processing4 repository to your machine locally
1. Open the cloned repository in IntelliJ IDEA CE
1. When prompted, select **Trust Project**. You can preview the project in Safe Mode but you won't be able to build Processing.
1. IntelliJ may start loading Gradle dependencies automatically. Wait for this process to complete.
1. In the main menu, go to File > Project Structure > Project Settings > Project.
1. In the SDK Dropdown option, select a JDK version 17 or Download the jdk
1. Click the green Run Icon in the top right of the window. This is also where you can find the option to debug Processing.
@@ -31,7 +33,7 @@ Processing consists of three main components: `Core`, `Java`, and `App`. The `Co

- **Java**: The part of Processing that compiles and runs `.pde` files. It supports different *modes* which implement support for different languages or versions of Processing. The default mode is `Java`.

- `App`: This is the Processing Development Environment (PDE), the visual part of the editor that you see and work within when you use Processing.
- **App**: This is the Processing Development Environment (PDE), the visual part of the editor that you see and work within when you use Processing.


### Examples
@@ -59,3 +61,37 @@ The main task to run or debug the PDE is `run`. That means you just need to run
If your main concern is with the `Core` you don't need to build and start the whole PDE to test your changes. In IntelliJ IDEA you can select any of the sketches in `core/examples/src/.../` to run by click on the green arrow next to their main functions. This will just compile core and the example sketch. Feel free to create additional examples for your new functionality.

## Other editors

## Troubleshooting and Setup Tips (IntelliJ IDEA)

If you’re building Processing using IntelliJ IDEA and something’s not working, here are a few things that might help:

### Use the Correct JDK (temurin-17)

Make sure IntelliJ is using **temurin-17**, not another version. Some users have reported issues with ms-17.

1. Go to **File > Project Structure > Project**
2. Set the **Project SDK** to: `temurin-17 java version "17.0.15"`

![JDK Selection](.github/media/troubleshooting-Intellij-setting-djk-version-manually.png)

If it is not already installed, you can download it by:
1. Clicking the SDK input field and then selecting the `Download JDK...` option from the menu
2. Select Version: `17`, Vendor: `Eclipse Temurin (AdoptOpenJDK HotSpot)`


![JDK Download](.github/media/troubleshooting-Intellij-download-jdk.png)

Now go back to your main window and
1. Click the green Run Icon in the top right of the window.


### “Duplicate content roots detected”

You may see this warning in IntelliJ:

> `Duplicate content roots detected: '.../processing4/java/src'`
This happens because multiple modules reference the same source folder. It’s safe to ignore.


Loading