# AU & Custom look and feel

**URL:** <https://forum.juce.com/t/au-custom-look-and-feel/66033>\
**Category:** General JUCE discussion\
**Created:** [May 7, 2025, 7:34am UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033 "2025-05-07T07:34:01Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [May 7, 2025, 7:34am UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033/1 "2025-05-07T07:34:01Z")

</div>

I’ve made a plugin that i want to compile on AU but it won’t i seem to get this error, And also on another plugin it keeps saying custom look and feel not found but it works on another plugin, Do you have any idea what could be the problem even though it is the same code? Thanks

---

<div class="post-metadata">

**Author:** ![ibisum](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ibisum/32/21288_2.png) [@ibisum](https://forum.juce.com/u/ibisum)\
**Post date:** [May 7, 2025, 8:05am UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033/2 "2025-05-07T08:05:23Z")

</div>

Paste the full messages being reported by your compiler - otherwise its very difficult to help you debug this issue.

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [May 7, 2025, 9:06am UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033/3 "2025-05-07T09:06:31Z")

</div>

This is how i wrote the words that keep moving for the interface

g.setFont(juce::FontOptions(“Bodoni 72 SmallCaps”, 20.5f, juce::Font::plain));  
g.drawFittedText(“[r.com](http://r.com)”, getX() +20, getY() -0.5, getWidth(), getHeight(), juce::Justification::topLeft,1);

```
g.setFont(juce::FontOptions("Rx Script", 27.5f, juce::Font::italic));
g.drawFittedText("R", getX() +20.0, getY() -10.0, getWidth(), getHeight(), juce::Justification::bottomLeft,1);

```

}

void GainAudioProcessorEditor::resized()  
{  
// This is generally where you’ll want to lay out the positions of any  
// subcomponents in your editor..

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [May 7, 2025, 9:07am UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033/4 "2025-05-07T09:07:43Z")

</div>

![Screenshot 2025-05-07 at 10.03.33](https://us1.discourse-cdn.com/flex026/uploads/juce/original/3X/3/0/30f07c6ec0b5aa2e095828a467c0f463a0b09c97.png)  
And this is the other error that can’t seem to find my dial for the interface for it to rotate. Thanks

---

<div class="post-metadata">

**Author:** ![anthony-nicholls](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/anthony-nicholls/32/1246_2.png) [@anthony-nicholls](https://forum.juce.com/u/anthony-nicholls)\
**Post date:** [May 7, 2025, 9:49am UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033/5 "2025-05-07T09:49:37Z")

</div>

`getX()` and `getY()` will return the position of the component relative to its parent. When you are drawing in the paint function the graphics context is relative to the component (not its parent). This way drawing something at position 0, 0 will always be in the top left corner of that component. You shouldn’t have to consider the position of the component when drawing.

For your header include issue you need to consider how the compiler finds header files. There are two ways

1. It searches from the directory that the file with the include statement is in

So in your case this would mean “ImageKnob.h” would need to be located in the same directory as the file displaying the error you’ve shown.

Alternatively the include path could be something like

```cpp
#include "../Images/ImageKnob.h"

```

This would mean relative to the file trying to include `ImageKnob.h` it would be located up one directory and then in a directory called `Images`.

1. Alternatively if the compiler doesn’t find the file relative to the file trying to include it, it will search in any “header search paths” that have been provided. You can provide these search paths via the Projucer or CMake.

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [May 8, 2025, 1:56pm UTC](https://forum.juce.com/t/au-custom-look-and-feel/66033/6 "2025-05-08T13:56:42Z")

</div>

Thanks for that, I will try it to see if it works.

> > [anthony-nicholls](https://forum.juce.com/u/anthony-nicholls)  
> > May 7 |
> 
> - | - |

`getX()` and `getY()` will return the position of the component relative to its parent. When you are drawing in the paint function the graphics context is relative to the component (not its parent). This way drawing something at position 0, 0 will always be in the top left corner of that component. You shouldn’t have to consider the position of the component when drawing.

For your header include issue you need to consider how the compiler finds header files. There are two ways

1. It searches from the directory that the file with the include statement is in

So in your case this would mean “ImageKnob.h” would need to be located in the same directory as the file displaying the error you’ve shown.

Alternatively the include path could be something like

```cpp
#include "../Images/ImageKnob.h"

```

This would mean relative to the file trying to include `ImageKnob.h` it would be located up one directory and then in a directory called `Images`.

1. Alternatively if the compiler doesn’t find the file relative to the file trying to include it, it will search in any “header search paths” that have been provided. You can provide these search paths via the Projucer or CMake.
