jothepro / doxygen-awesome-css

Custom CSS theme for doxygen html-documentation with lots of customization parameters.
https://jothepro.github.io/doxygen-awesome-css/
MIT License
1.04k stars 118 forks source link

Inheritance graph legend link is not colored like a link #8

Closed r0ckarong closed 3 years ago

r0ckarong commented 3 years ago

Below the inheritance diagrams there is a small span containing the word "legend". This leads to a generated page explaining the colors used in the diagram.

image

When this has been visited before, this link is styled with some weird color (#300000) and doesn't stand out.

image

This can be overridden by setting something like

.contents a:visited {
  font-color: var(--primary-dark-color);
}

image

I'm not entirely sure what is going on there and why the declared style for anchors doesn't apply in this case.

jothepro commented 3 years ago

The legend-link does not exist in my example classes for testing. Do you know what the precondition is for them to show up?

r0ckarong commented 3 years ago

From what I can tell this one comes from the LWIP_INIT_PARAM_T struct that contains the const LWIP_MEMORY_POOL_CFG_T and defines the pointer ptMemoryPoolCfg. So that's why it "uses" (dashed purple arrow) the pointer.

typedef struct {
[...] other stuff

  const LWIP_MEMORY_POOL_CFG_T   *ptMemoryPoolCfg;
} LWIP_INIT_PARAM_T;

The legend definition is here:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

image

image

Maybe this'll help building more examples? Honestly I am pretty new to C++ and don't understand much of that.

jothepro commented 3 years ago

I have fixed some link coloring inconsistencies in this commit: https://github.com/jothepro/doxygen-awesome-css/commit/072e779b1aa0ad298b2410882c392feb8b0fae5c

Pls let me know if that fixes the "legend" link color as well. :)

jothepro commented 3 years ago

I've tested it myself and it seems like this is resolved. Pls re-open if you disagree.